def test_main():
  """Main function to be called within `__main__` of a test file."""
  multi_process_lib.test_main()
        cluster = MultiProcessCluster(num_local_workers=0,
                                      num_remote_workers=3)
        num_elements = 10
        ds = self.make_distributed_range_dataset(num_elements,
                                                 cluster,
                                                 target_workers="LOCAL")
        with self.assertRaisesRegex(errors.InvalidArgumentError,
                                    "no local worker is found"):
            get_next = self.getNext(ds)
            self.evaluate(get_next())

    def testCoordinatedRead(self):
        cluster = MultiProcessCluster(num_local_workers=3,
                                      num_remote_workers=3)
        ds = dataset_ops.Dataset.range(10).repeat()
        ds = self.make_distributed_dataset(ds,
                                           cluster,
                                           job_name="test",
                                           consumer_index=0,
                                           num_consumers=3,
                                           target_workers="LOCAL")
        with self.assertRaisesRegex(
                errors.InvalidArgumentError,
                "Coordinated reads require non-local workers"):
            get_next = self.getNext(ds)
            self.evaluate(get_next())


if __name__ == "__main__":
    multi_process_lib.test_main()