diff --git a/CHANGELOG.md b/CHANGELOG.md index 02aca343a2..931298f0ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,9 @@ Breaking changes: * (py_wheel) Produce deterministic wheel files and make `RECORD` file entries follow the order of files written to the `.whl` archive. +* (gazelle) Generate a single `py_test` target when `gazelle:python_generation_mode project` + is used. + ### Added * (bzlmod) Added `.whl` patching support via `patches` and `patch_strip` diff --git a/gazelle/python/generate.go b/gazelle/python/generate.go index ede4d2a222..0e47ed7fda 100644 --- a/gazelle/python/generate.go +++ b/gazelle/python/generate.go @@ -371,7 +371,7 @@ func (py *Python) GenerateRules(args language.GenerateArgs) language.GenerateRes addModuleDependencies(deps). generateImportsAttribute() } - if hasPyTestEntryPointFile || hasPyTestEntryPointTarget { + if hasPyTestEntryPointFile || hasPyTestEntryPointTarget || cfg.CoarseGrainedGeneration() { if hasPyTestEntryPointFile { // Only add the pyTestEntrypointFilename to the pyTestFilenames if // the file exists on disk. diff --git a/gazelle/python/testdata/monorepo/coarse_grained/BUILD.out b/gazelle/python/testdata/monorepo/coarse_grained/BUILD.out index 0357705d5a..3a331112e9 100644 --- a/gazelle/python/testdata/monorepo/coarse_grained/BUILD.out +++ b/gazelle/python/testdata/monorepo/coarse_grained/BUILD.out @@ -1,4 +1,4 @@ -load("@rules_python//python:defs.bzl", "py_library") +load("@rules_python//python:defs.bzl", "py_library", "py_test") # gazelle:python_extension enabled # gazelle:python_root @@ -18,3 +18,12 @@ py_library( visibility = ["//:__subpackages__"], deps = ["@root_pip_deps//rootboto3"], ) + +py_test( + name = "coarse_grained_test", + srcs = [ + "bar/bar_test.py", + "foo/bar/bar_test.py", + ], + main = "__test__.py", +) diff --git a/gazelle/python/testdata/monorepo/coarse_grained/bar/bar_test.py b/gazelle/python/testdata/monorepo/coarse_grained/bar/bar_test.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/gazelle/python/testdata/monorepo/coarse_grained/foo/bar/bar_test.py b/gazelle/python/testdata/monorepo/coarse_grained/foo/bar/bar_test.py new file mode 100644 index 0000000000..e69de29bb2