code: def _test_distributions(self, run_name, tag_name, should_work=True):
      self.set_up_with_runs(
          [
              self._RUN_WITH_SCALARS,
              self._RUN_WITH_LEGACY_DISTRIBUTION,
              self._RUN_WITH_DISTRIBUTION,
          ]
      )
      if should_work:
          (data, mime_type) = self.plugin.distributions_impl(
              context.RequestContext(),
              tag_name,
              run_name,
              experiment="exp",
          )
          self.assertEqual("application/json", mime_type)
          self.assertEqual(len(data), self._STEPS)
          for i in range(self._STEPS):
              [_unused_wall_time, step, bps_and_icdfs] = data[i]
              self.assertEqual(i, step)
              (bps, _unused_icdfs) = zip(*bps_and_icdfs)
              self.assertEqual(bps, compressor.NORMAL_HISTOGRAM_BPS)
      else:
          with self.assertRaises(errors.NotFoundError):
              self.plugin.distributions_impl(
                  context.RequestContext(),
                  self._DISTRIBUTION_TAG,
                  run_name,
                  experiment="exp",
              )
  
imports: import collections.abc
  import os.path
  import tensorflow
  from tensorboard import errors
  from tensorboard import context
  from tensorboard.backend.event_processing import data_provider
  from tensorboard.backend.event_processing import plugin_event_multiplexer
  from tensorboard.backend.event_processing import tag_types
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.distribution import compressor
  from tensorboard.plugins.distribution import distributions_plugin
  from tensorboard.plugins.histogram import summary
  from tensorboard.util import test_util
label_desc: Use image node_id 6 for calling the DistributionsPluginTest obj's underlying member method code with example usage: obj._test_distributions(run_name, tag_name, should_work) without return types