code: def testBadCardinality(self):
      cluster = data_service_test_base.TestCluster(num_workers=1)
      snapshot_dir = data_service_test_base.TempDir()
      dataset = dataset_ops.Dataset.range(10).repeat()
      with self.assertRaisesRegex(
          errors.InvalidArgumentError,
          "Saving an infinite dataset is not allowed",
      ):
          self.evaluate(
              distributed_save_op.distributed_save(
                  dataset,
                  snapshot_dir.full_path,
                  cluster.dispatcher_address(),
              )
          )
  
imports: import os
  import time
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.data.experimental.kernel_tests.service import test_base
  from tensorflow.python.data.experimental.ops import data_service_ops
  from tensorflow.python.data.experimental.ops import distributed_save_op
  from tensorflow.python.data.experimental.service import _pywrap_snapshot_utils
  from tensorflow.python.data.kernel_tests import checkpoint_test_base
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import errors
  from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 14 for calling the DistributedSaveTest obj's underlying member method code with example usage: obj.testBadCardinality() without return types