diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 996c71ffa2..d26f431c81 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,6 +73,10 @@ jobs: -r ./tensorboard/pip_package/requirements.txt \ -r ./tensorboard/pip_package/requirements_dev.txt \ ; + - name: 'Install Chrome dependencies' + run: | + sudo apt-get update + sudo apt-get install -y libgbm-dev libxss1 libasound2 - name: 'Check Pip state' run: pip freeze --all - name: 'Bazel: fetch' diff --git a/tensorboard/BUILD b/tensorboard/BUILD index 405d6b8d99..3e4440e560 100644 --- a/tensorboard/BUILD +++ b/tensorboard/BUILD @@ -1,12 +1,12 @@ # Description: # TensorBoard, a dashboard for investigating TensorFlow -load("//tensorboard/defs:py_repl.bzl", "py_repl") -load("//tensorboard/defs:web.bzl", "tf_web_library") -load("//tensorboard/defs:zipper.bzl", "tensorboard_zip_file") load("@rules_python//python:py_binary.bzl", "py_binary") load("@rules_python//python:py_library.bzl", "py_library") load("@rules_python//python:py_test.bzl", "py_test") +load("//tensorboard/defs:py_repl.bzl", "py_repl") +load("//tensorboard/defs:web.bzl", "tf_web_library") +load("//tensorboard/defs:zipper.bzl", "tensorboard_zip_file") package(default_visibility = [":internal"]) @@ -211,10 +211,13 @@ py_library( py_test( name = "manager_test", - size = "small", + size = "large", srcs = ["manager_test.py"], srcs_version = "PY3", - tags = ["support_notf"], + tags = [ + "exclusive", + "support_notf", + ], visibility = ["//tensorboard:internal"], deps = [ ":manager", @@ -273,10 +276,13 @@ py_library( py_test( name = "program_test", - size = "small", + size = "large", srcs = ["program_test.py"], srcs_version = "PY3", - tags = ["support_notf"], + tags = [ + "exclusive", + "support_notf", + ], deps = [ ":default", ":program", diff --git a/tensorboard/manager_test.py b/tensorboard/manager_test.py index 8420887846..6911398c51 100644 --- a/tensorboard/manager_test.py +++ b/tensorboard/manager_test.py @@ -384,7 +384,7 @@ def test_get_all_ignores_bad_files(self): os.chmod(os.path.join(self.info_dir, "pid-9012.info"), 0o000) with mock.patch.object(tb_logging.get_logger(), "debug") as fn: self.assertEqual(manager.get_all(), []) - self.assertEqual(fn.call_count, 2) # 2 invalid, 1 unreadable (silent) + self.assertEqual(fn.call_count, 3) # 2 invalid, 1 unreadable (silent) if __name__ == "__main__": diff --git a/tensorboard/program_test.py b/tensorboard/program_test.py index 68a9a51ea7..82ace265be 100644 --- a/tensorboard/program_test.py +++ b/tensorboard/program_test.py @@ -14,7 +14,6 @@ # ============================================================================== """Unit tests for program package.""" - import argparse import io import sys @@ -149,9 +148,10 @@ def testSpecifiedHost(self): ) self.assertStartsWith(server.get_url(), "http://127.0.0.1:") one_passed = True - except program.TensorBoardServerException: - # IPv4 is not supported + except (program.TensorBoardServerException, OSError, SystemExit): + # IPv4 is not supported or failed to bind pass + try: server = program.WerkzeugServer( self._StubApplication(), @@ -159,12 +159,14 @@ def testSpecifiedHost(self): ) self.assertStartsWith(server.get_url(), "http://[::1]:") one_passed = True - except program.TensorBoardServerException: - # IPv6 is not supported + except (program.TensorBoardServerException, OSError, SystemExit): + # IPv6 is not supported or failed to bind pass + self.assertTrue( - one_passed - ) # We expect either IPv4 or IPv6 to be supported + one_passed, + "Neither IPv4 (127.0.0.1) nor IPv6 (::1) could be bound.", + ) class SubcommandTest(tb_test.TestCase):