You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's still not a nice way to tell gazelle that there are no files in the bazel package that should be mapped to py_test targets but should still be processed as py_library or py_binary (see example below).
Workaround: set python_test_file_pattern to a value that ends in something other than .py, such as gazelle:python_test_file_pattern ignore_me.txt. This will work because a prior check (here and here) asserts that the files being processed by gazelle end in .py.
All of the above led to the conclusion that there should be a python_no_test_files directive.
# example of project structure
project/
+ BUILD.bazel
+ MODULE.bazel
+ src/mypackage/ # guaranteed to have no py_test targets
+ BUILD.bazel
+ run_electrical_test.py # py_binary
+ electrical_test.py # py_library
+ tests/ # will have any py_* targets
+ BUILD.bazel
+ foo_test.py # py_test
+ bar_test.py # py_test
+ test_utils.py # py_library
+ run_all_test.py # py_binary
How does python_no_test_files behave? Does it:
cause gazelle to simply ignore all files that match python_test_file_pattern? or
cause gazelle to map all files that match python_test_file_pattern to py_library or py_binary (if they have if __name__ ...)?
Describe the solution you'd like
With behavior (1), there's still a feature gap for the example case above, and the workaround feels a bit hacky.
For behavior (2) we'd probably want to name the directive something else.
Describe alternatives you've considered
Using python_ignore_files and then manually generating the py_library targets for files that match python_test_file_pattern. This is less than ideal when adding things to large projects.
The text was updated successfully, but these errors were encountered:
This is a continuation of the discussion from #1819 (comment).
🚀 feature request
Relevant Rules
Description
The summary of the discussion in #1819 (comment) so far is:
python_test_file_pattern
accept no value is unintuitive and should raise an error. feat(gazelle): Add "python_test_file_pattern" directive #1819 includes this.python_test_file_pattern
back to "default" should be done manually, not through magic strings.# gazelle:python_test_file_pattern *_test.py,test_*.py
py_test
targets but should still be processed as py_library or py_binary (see example below).python_test_file_pattern
to a value that ends in something other than.py
, such asgazelle:python_test_file_pattern ignore_me.txt
. This will work because a prior check (here and here) asserts that the files being processed by gazelle end in.py
.python_no_test_files
directive.How does
python_no_test_files
behave? Does it:python_test_file_pattern
? orpython_test_file_pattern
topy_library
orpy_binary
(if they haveif __name__ ...
)?Describe the solution you'd like
With behavior (1), there's still a feature gap for the example case above, and the workaround feels a bit hacky.
For behavior (2) we'd probably want to name the directive something else.
Describe alternatives you've considered
Using
python_ignore_files
and then manually generating the py_library targets for files that matchpython_test_file_pattern
. This is less than ideal when adding things to large projects.The text was updated successfully, but these errors were encountered: