generate py_test without __test__ by linzhp · Pull Request #999 · bazel-contrib/rules_python

@linzhp

f0rmiga pushed a commit that referenced this pull request

Apr 8, 2023
Since #999, gazelle can
generate multiple `py_test` rules in a single package (when it finds
multiple `*_test.py` or `test_*.py` files and no `__test__.py` file). In
this case, adding new test files to a package with pre-existing
`py_test` rules is not handled properly due to the `MatchAny` property
on the `py_test` kind - it will match the existing `py_test` rule and
edit it instead of adding a new test rule. This PR disables the matching
so that new `py_test` rules are properly generated.

This was referenced

Aug 22, 2023

github-merge-queue bot pushed a commit that referenced this pull request

Jul 1, 2025
…les (#2998)

Remove entry point file requirements when generating rules. Enable
python rule generation as long as there are .py source files under the
directory so all new packages will have python rules generated in the
package.

The extension used to require entrypoints for generation but:
- entry point for tests (i.e., `__test__.py` ) is no longer required
after #999 and
#2044
- entry point for binaries (i.e., `__main__.py` ) is no longer required
after #1584

The entry point for libraries (`__init__.py` ) shouldn't be required
either, especially for Python 3.3 and after when namespace packages are
supported.

---------

Co-authored-by: yushan <yushan@uber.com>
Co-authored-by: Douglas Thor <dougthor42@users.noreply.github.com>

amartani pushed a commit to benchling/rules_python that referenced this pull request

Jul 8, 2025
…les (bazel-contrib#2998)

Remove entry point file requirements when generating rules. Enable
python rule generation as long as there are .py source files under the
directory so all new packages will have python rules generated in the
package.

The extension used to require entrypoints for generation but:
- entry point for tests (i.e., `__test__.py` ) is no longer required
after bazel-contrib#999 and
bazel-contrib#2044
- entry point for binaries (i.e., `__main__.py` ) is no longer required
after bazel-contrib#1584

The entry point for libraries (`__init__.py` ) shouldn't be required
either, especially for Python 3.3 and after when namespace packages are
supported.

---------

Co-authored-by: yushan <yushan@uber.com>
Co-authored-by: Douglas Thor <dougthor42@users.noreply.github.com>