mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-03 04:10:49 +08:00
Merge pull request #1898 from isExample/feat/ignore-language-framework
feat: support ignoring auto-generated files by language/framework
This commit is contained in:
@ -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]}"
|
||||
)
|
||||
|
Reference in New Issue
Block a user