Merge pull request #1898 from isExample/feat/ignore-language-framework

feat: support ignoring auto-generated files by language/framework
This commit is contained in:
Tal
2025-06-29 10:19:37 +03:00
committed by GitHub
6 changed files with 126 additions and 1 deletions

View File

@ -80,3 +80,53 @@ class TestIgnoreFilter:
filtered_files = filter_ignored(files)
assert filtered_files == expected, f"Expected {[file.filename for file in expected]}, but got {[file.filename for file in filtered_files]}."
def test_language_framework_ignores(self, monkeypatch):
"""
Test files are ignored based on language/framework mapping (e.g., protobuf).
"""
monkeypatch.setattr(global_settings.config, 'ignore_language_framework', ['protobuf', 'go_gen'])
files = [
type('', (object,), {'filename': 'main.go'})(),
type('', (object,), {'filename': 'dir1/service.pb.go'})(),
type('', (object,), {'filename': 'dir1/dir/data_pb2.py'})(),
type('', (object,), {'filename': 'file.py'})(),
type('', (object,), {'filename': 'dir2/file_gen.go'})(),
type('', (object,), {'filename': 'file.generated.go'})()
]
expected = [
files[0],
files[3]
]
filtered = filter_ignored(files)
assert filtered == expected, (
f"Expected {[f.filename for f in expected]}, "
f"but got {[f.filename for f in filtered]}"
)
def test_skip_invalid_ignore_language_framework(self, monkeypatch):
"""
Test skipping of generated code filtering when ignore_language_framework is not a list
"""
monkeypatch.setattr(global_settings.config, 'ignore_language_framework', 'protobuf')
files = [
type('', (object,), {'filename': 'main.go'})(),
type('', (object,), {'filename': 'file.py'})(),
type('', (object,), {'filename': 'dir1/service.pb.go'})(),
type('', (object,), {'filename': 'file_pb2.py'})()
]
expected = [
files[0],
files[1],
files[2],
files[3]
]
filtered = filter_ignored(files)
assert filtered == expected, (
f"Expected {[f.filename for f in expected]}, "
f"but got {[f.filename for f in filtered]}"
)