code: def mesh_events(self, *args, **kwargs):
      self.write_mesh_event(*args, **kwargs)
      event_files = sorted(
          glob.glob(os.path.join(self.get_temp_dir(), "*"))
      )
      self.assertEqual(len(event_files), 1)
      events = list(tf.compat.v1.train.summary_iterator(event_files[0]))
      # Expect a boilerplate event for the file_version, then the vertices
      # summary one.
      num_events = 2
      # All additional tensors (i.e. colors or faces) will be stored as separate
      # events, so account for them as well.
      num_events += len(
          frozenset(["colors", "faces"]).intersection(kwargs)
      )
      self.assertEqual(len(events), num_events)
      # Delete the event file to reset to an empty directory for later calls.
      os.remove(event_files[0])
      return events[1:]
  
imports: import glob
  import json
  import os
  import tensorflow
  from tensorboard.compat import tf2
  from tensorboard.plugins.mesh import summary
  from tensorboard.plugins.mesh import metadata
  from tensorboard.plugins.mesh import plugin_data_pb2
  from tensorboard.plugins.mesh import test_utils
label_desc: Use image node_id 2 for calling the MeshSummaryV2Test obj's underlying member method code with example usage: obj.mesh_events() and returns: events