code: def test_failure_unreadable_stdio(self):
      if os.name == "nt":
          # TODO(@wchargin): This could in principle work on Windows.
          self.skipTest("Requires a POSIX shell for the stub script.")
      self._stub_tensorboard(
          name="fail-and-nuke-tmp",
          program=textwrap.dedent(
              r"""
                  #!/bin/sh
                  rm -r %s
                  exit 22
                  """
              % pipes.quote(self.tmproot),
          ).lstrip(),
      )
      start_result = manager.start(["--logdir=./logs", "--port=0"])
      self.assertIsInstance(start_result, manager.StartFailed)
      self.assertEqual(
          start_result,
          manager.StartFailed(
              exit_code=22,
              stderr=None,
              stdout=None,
          ),
      )
      self.assertEqual(manager.get_all(), [])
  
imports: import contextlib
  import datetime
  import errno
  import json
  import os
  import pipes
  import signal
  import shutil
  import subprocess
  import tempfile
  import textwrap
  from unittest import mock
  import urllib.request
  import tensorflow
  from tensorboard import manager
label_desc: Use image node_id 14 for calling the ManagerEndToEndTest obj's underlying member method code with example usage: obj.test_failure_unreadable_stdio() without return types