From f1cced49ddaaad82565b91ef9c88b162660d2c1f Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Tue, 10 Feb 2026 22:02:20 +0000 Subject: [PATCH 1/7] Test unit tests --- WORKSPACE | 1 + 1 file changed, 1 insertion(+) diff --git a/WORKSPACE b/WORKSPACE index 67e90a09156..cce4214449e 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,5 +1,6 @@ workspace(name = "org_tensorflow_tensorboard") + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( From 8815046f91ccfc155fdbc4ae81bc464e85651d15 Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Wed, 11 Feb 2026 15:18:43 +0000 Subject: [PATCH 2/7] Fix unit tests --- WORKSPACE | 1 - tensorboard/BUILD | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index cce4214449e..67e90a09156 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,6 +1,5 @@ workspace(name = "org_tensorflow_tensorboard") - load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( diff --git a/tensorboard/BUILD b/tensorboard/BUILD index 405d6b8d99c..678dbf08d33 100644 --- a/tensorboard/BUILD +++ b/tensorboard/BUILD @@ -211,10 +211,10 @@ py_library( py_test( name = "manager_test", - size = "small", + size = "large", srcs = ["manager_test.py"], srcs_version = "PY3", - tags = ["support_notf"], + tags = ["support_notf", "exclusive"], visibility = ["//tensorboard:internal"], deps = [ ":manager", @@ -273,10 +273,10 @@ py_library( py_test( name = "program_test", - size = "small", + size = "large", srcs = ["program_test.py"], srcs_version = "PY3", - tags = ["support_notf"], + tags = ["support_notf", "exclusive"], deps = [ ":default", ":program", From 9126dbed21e49335ea0c9141a5ff3f9dee262b3c Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Wed, 11 Feb 2026 19:29:51 +0000 Subject: [PATCH 3/7] test --- .github/workflows/ci.yml | 4 ++++ tensorboard/program_test.py | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 996c71ffa27..f6e5fc95583 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 - name: 'Check Pip state' run: pip freeze --all - name: 'Bazel: fetch' diff --git a/tensorboard/program_test.py b/tensorboard/program_test.py index 68a9a51ea70..c810716fb3e 100644 --- a/tensorboard/program_test.py +++ b/tensorboard/program_test.py @@ -140,7 +140,7 @@ def testPathPrefixSlash(self): ) self.assertEndsWith(server.get_url(), "/test/") - def testSpecifiedHost(self): +def testSpecifiedHost(self): one_passed = False try: server = program.WerkzeugServer( @@ -149,9 +149,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 +160,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. Environment network issue." + ) class SubcommandTest(tb_test.TestCase): From 710db464b9fb52e590df94f0586985512f80df16 Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Wed, 11 Feb 2026 21:38:32 +0000 Subject: [PATCH 4/7] Added more dependencies --- .github/workflows/ci.yml | 2 +- tensorboard/manager_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6e5fc95583..d26f431c815 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,7 +76,7 @@ jobs: - name: 'Install Chrome dependencies' run: | sudo apt-get update - sudo apt-get install -y libgbm-dev + sudo apt-get install -y libgbm-dev libxss1 libasound2 - name: 'Check Pip state' run: pip freeze --all - name: 'Bazel: fetch' diff --git a/tensorboard/manager_test.py b/tensorboard/manager_test.py index 8420887846c..6911398c515 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__": From fb3d350115bf870eccf70da6d056bef5544de8c3 Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Thu, 12 Feb 2026 14:32:31 +0000 Subject: [PATCH 5/7] Fix linters --- tensorboard/BUILD | 16 +++++++++++----- tensorboard/program_test.py | 12 +++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/tensorboard/BUILD b/tensorboard/BUILD index 678dbf08d33..3e4440e5601 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"]) @@ -214,7 +214,10 @@ py_test( size = "large", srcs = ["manager_test.py"], srcs_version = "PY3", - tags = ["support_notf", "exclusive"], + tags = [ + "exclusive", + "support_notf", + ], visibility = ["//tensorboard:internal"], deps = [ ":manager", @@ -276,7 +279,10 @@ py_test( size = "large", srcs = ["program_test.py"], srcs_version = "PY3", - tags = ["support_notf", "exclusive"], + tags = [ + "exclusive", + "support_notf", + ], deps = [ ":default", ":program", diff --git a/tensorboard/program_test.py b/tensorboard/program_test.py index c810716fb3e..aafb7feec6a 100644 --- a/tensorboard/program_test.py +++ b/tensorboard/program_test.py @@ -166,7 +166,7 @@ def testSpecifiedHost(self): self.assertTrue( one_passed, - "Neither IPv4 (127.0.0.1) nor IPv6 (::1) could be bound. Environment network issue." + "Neither IPv4 (127.0.0.1) nor IPv6 (::1) could be bound." ) @@ -175,8 +175,14 @@ def setUp(self): super().setUp() self.stderr = io.StringIO() patchers = [ - mock.patch.object(program.TensorBoard, "_install_signal_handler"), - mock.patch.object(program.TensorBoard, "_run_serve_subcommand"), + mock.patch.object( + program.TensorBoard, + "_install_signal_handler" + ), + mock.patch.object( + program.TensorBoard, + "_run_serve_subcommand" + ), mock.patch.object(_TestSubcommand, "run"), mock.patch.object(sys, "stderr", self.stderr), ] From 8df5e3be9464a4a30d32aaeaa627cab9aa1d3fa5 Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Thu, 12 Feb 2026 17:57:57 +0000 Subject: [PATCH 6/7] Fix cosmetic --- tensorboard/program_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorboard/program_test.py b/tensorboard/program_test.py index aafb7feec6a..28d1bb9ff49 100644 --- a/tensorboard/program_test.py +++ b/tensorboard/program_test.py @@ -140,7 +140,7 @@ def testPathPrefixSlash(self): ) self.assertEndsWith(server.get_url(), "/test/") -def testSpecifiedHost(self): + def testSpecifiedHost(self): one_passed = False try: server = program.WerkzeugServer( From 3a1df1965635661b3b4e431b983c90bb422dd239 Mon Sep 17 00:00:00 2001 From: Daniel Lares Date: Thu, 12 Feb 2026 19:04:49 +0000 Subject: [PATCH 7/7] Fix linter --- tensorboard/program_test.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tensorboard/program_test.py b/tensorboard/program_test.py index 28d1bb9ff49..82ace265bef 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 @@ -166,7 +165,7 @@ def testSpecifiedHost(self): self.assertTrue( one_passed, - "Neither IPv4 (127.0.0.1) nor IPv6 (::1) could be bound." + "Neither IPv4 (127.0.0.1) nor IPv6 (::1) could be bound.", ) @@ -175,14 +174,8 @@ def setUp(self): super().setUp() self.stderr = io.StringIO() patchers = [ - mock.patch.object( - program.TensorBoard, - "_install_signal_handler" - ), - mock.patch.object( - program.TensorBoard, - "_run_serve_subcommand" - ), + mock.patch.object(program.TensorBoard, "_install_signal_handler"), + mock.patch.object(program.TensorBoard, "_run_serve_subcommand"), mock.patch.object(_TestSubcommand, "run"), mock.patch.object(sys, "stderr", self.stderr), ]