message: Enhance the profiler_client_test to test a profiler server.
diff: @@ -18,7 +18,7 @@ from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  -import tempfile
  +import portpicker
  from tensorflow.python.eager import test
  from tensorflow.python.framework import errors
  @@ -29,18 +29,35 @@ from tensorflow.python.profiler import profiler_v2 as profiler
  class ProfilerClientTest(test_util.TensorFlowTestCase):
  - def testStartTracing_ProcessInvalidAddress(self):
  - with self.assertRaises(errors.UnavailableError):
  - profiler_client.trace('localhost:6006', tempfile.mkdtemp(), 2000)
  + def testTrace_ProfileIdleServer(self):
  + test_port = portpicker.pick_unused_port()
  + profiler.start_server(test_port)
  + # Test the profilers are successfully started and connected to profiler
  + # service on the worker. Since there is no op running, it is expected to
  + # return UnavailableError with no trace events collected string.
  + with self.assertRaises(errors.UnavailableError) as error:
  + profiler_client.trace(
  + 'localhost:' + str(test_port), self.get_temp_dir(), duration_ms=10)
  + self.assertEqual('No trace event is collected', str(error.exception))
  - def testStartTracing_ProcessInvalidAddressWithOptions(self):
  - with self.assertRaises(errors.UnavailableError):
  + def testTrace_ProfileIdleServerWithOptions(self):
  + test_port = portpicker.pick_unused_port()
  + profiler.start_server(test_port)
  + # Test the profilers are successfully started and connected to profiler
  + # service on the worker. Since there is no op running, it is expected to
  + # return UnavailableError with no trace events collected string.
  + with self.assertRaises(errors.UnavailableError) as error:
  options = profiler.ProfilerOptions(
  host_tracer_level=3, device_tracer_level=0)
  profiler_client.trace(
  - 'localhost:6006', tempfile.mkdtemp(), 2000, options=options)
  + 'localhost:' + str(test_port),
  + self.get_temp_dir(),
  + duration_ms=10,
  + options=options)
  + self.assertEqual('No trace event is collected', str(error.exception))
  def testMonitor_ProcessInvalidAddress(self):
  + # Monitor is only supported in cloud TPU. Test invalid address instead.
  with self.assertRaises(errors.UnavailableError):
  profiler_client.monitor('localhost:6006', 2000)
  