From 43f14cc60673e90ff859e5bcc0e9681b0832ef5e Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Wed, 21 Jan 2026 16:55:43 -0600 Subject: [PATCH 1/4] rearrange python test target naming --- py/private/suite.bzl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/py/private/suite.bzl b/py/private/suite.bzl index 58e45cdd3fb84..174c32d4d5d13 100644 --- a/py/private/suite.bzl +++ b/py/private/suite.bzl @@ -4,6 +4,21 @@ load("//py/private:pytest.bzl", "pytest_test") def _is_test(file): return file.startswith("test_") or file.endswith("_tests.py") +def _suite_suffix(name): + return name[len("test-"):] if name.startswith("test-") else name + +def _strip_test_prefixes(path): + if path.startswith("test/"): + path = path[len("test/"):] + if path.endswith(".py"): + path = path[:-len(".py")] + filename = path.rsplit("/", 1)[-1] + if filename.startswith("test_"): + path = path[:-len(filename)] + filename[len("test_"):] + if path.endswith("_tests"): + path = path[:-len("_tests")] + return path + def py_test_suite(name, srcs, size = None, deps = None, python_version = None, imports = None, visibility = None, **kwargs): library_name = "%s-test-lib" % name @@ -19,7 +34,7 @@ def py_test_suite(name, srcs, size = None, deps = None, python_version = None, i tests = [] for src in srcs: if _is_test(src): - test_name = "%s-%s" % (name, src) + test_name = "%s-%s" % (_strip_test_prefixes(src), _suite_suffix(name)) tests.append(test_name) From 5616e961c80ce4f577c2a5582a1e1f97de1dccd3 Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Wed, 21 Jan 2026 22:34:20 -0600 Subject: [PATCH 2/4] [py] Keep test/ prefix to avoid module shadowing on Windows --- py/private/suite.bzl | 2 -- 1 file changed, 2 deletions(-) diff --git a/py/private/suite.bzl b/py/private/suite.bzl index 174c32d4d5d13..a55bc3e5708dc 100644 --- a/py/private/suite.bzl +++ b/py/private/suite.bzl @@ -8,8 +8,6 @@ def _suite_suffix(name): return name[len("test-"):] if name.startswith("test-") else name def _strip_test_prefixes(path): - if path.startswith("test/"): - path = path[len("test/"):] if path.endswith(".py"): path = path[:-len(".py")] filename = path.rsplit("/", 1)[-1] From 0ce7f1ca10430688663a8410bffc74fe787a61af Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Thu, 22 Jan 2026 11:10:41 -0600 Subject: [PATCH 3/4] [py] Convert _tests suffix to _test in test target names --- py/private/suite.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/private/suite.bzl b/py/private/suite.bzl index a55bc3e5708dc..ba067a70cc3b8 100644 --- a/py/private/suite.bzl +++ b/py/private/suite.bzl @@ -14,7 +14,7 @@ def _strip_test_prefixes(path): if filename.startswith("test_"): path = path[:-len(filename)] + filename[len("test_"):] if path.endswith("_tests"): - path = path[:-len("_tests")] + path = path[:-1] # Convert _tests to _test return path def py_test_suite(name, srcs, size = None, deps = None, python_version = None, imports = None, visibility = None, **kwargs): From 9e14de725cdb750a32719efb8fb55a8fbe83c389 Mon Sep 17 00:00:00 2001 From: Titus Fortner Date: Thu, 22 Jan 2026 11:27:16 -0600 Subject: [PATCH 4/4] [py] Keep _tests suffix in test target names --- py/private/suite.bzl | 2 -- 1 file changed, 2 deletions(-) diff --git a/py/private/suite.bzl b/py/private/suite.bzl index ba067a70cc3b8..66891636c9d8f 100644 --- a/py/private/suite.bzl +++ b/py/private/suite.bzl @@ -13,8 +13,6 @@ def _strip_test_prefixes(path): filename = path.rsplit("/", 1)[-1] if filename.startswith("test_"): path = path[:-len(filename)] + filename[len("test_"):] - if path.endswith("_tests"): - path = path[:-1] # Convert _tests to _test return path def py_test_suite(name, srcs, size = None, deps = None, python_version = None, imports = None, visibility = None, **kwargs):