Index: scripts/slave/recipe_modules/filter/example.py |
diff --git a/scripts/slave/recipe_modules/filter/example.py b/scripts/slave/recipe_modules/filter/example.py |
index b2709f0f5d46c9445c76725a41c403fa7d8a9db0..a699899345fe27f64a8d392987513d104f00c056 100644 |
--- a/scripts/slave/recipe_modules/filter/example.py |
+++ b/scripts/slave/recipe_modules/filter/example.py |
@@ -4,6 +4,7 @@ |
DEPS = [ |
'filter', |
+ 'json', |
'path', |
'properties', |
'raw_io', |
@@ -14,15 +15,16 @@ def GenSteps(api): |
api.filter.does_patch_require_compile() |
assert (api.filter.result and api.properties['example_result']) or \ |
(not api.filter.result and not api.properties['example_result']) |
+ assert (not api.properties['example_matching_exes'] or |
+ list(api.properties['example_matching_exes']) == |
+ api.filter.matching_exes) |
def GenTests(api): |
# Trivial test with no exclusions and nothing matching. |
yield (api.test('basic') + |
api.properties(filter_exclusions=[]) + |
api.properties(example_result=None) + |
- api.override_step_data( |
- 'analyze', |
- api.raw_io.stream_output('xx')) + |
+ api.properties(example_matching_exes=None) + |
api.override_step_data( |
'git diff to analyze patch', |
api.raw_io.stream_output('yy'))) |
@@ -31,6 +33,7 @@ def GenTests(api): |
yield (api.test('match_exclusion') + |
api.properties(filter_exclusions=['fo.*']) + |
api.properties(example_result=1) + |
+ api.properties(example_matching_exes=None) + |
api.override_step_data( |
'git diff to analyze patch', |
api.raw_io.stream_output('foo.cc'))) |
@@ -39,9 +42,7 @@ def GenTests(api): |
yield (api.test('doesnt_match_exclusion') + |
api.properties(filter_exclusions=['fo.*']) + |
api.properties(example_result=None) + |
- api.override_step_data( |
- 'analyze', |
- api.raw_io.stream_output('xx')) + |
+ api.properties(example_matching_exes=None) + |
api.override_step_data( |
'git diff to analyze patch', |
api.raw_io.stream_output('bar.cc'))) |
@@ -49,6 +50,27 @@ def GenTests(api): |
# Analyze returns matching result. |
yield (api.test('analyzes_returns_true') + |
api.properties(example_result=1) + |
+ api.properties(example_matching_exes=None) + |
+ api.override_step_data( |
+ 'analyze', |
+ api.json.output({'status': 'Found dependency', |
+ 'targets': []}))) |
+ |
+ # Analyze returns matching tests. |
+ yield (api.test('analyzes_matches_exes') + |
+ api.properties(matching_exes=['foo', 'bar']) + |
+ api.properties(example_matching_exes=['foo']) + |
+ api.properties(example_result=1) + |
+ api.override_step_data( |
+ 'analyze', |
+ api.json.output({'status': 'Found dependency', |
+ 'targets': ['foo']}))) |
+ |
+ # Analyze with error condition. |
+ yield (api.test('analyzes_error') + |
+ api.properties(matching_exes=None) + |
+ api.properties(example_matching_exes=None) + |
+ api.properties(example_result=1) + |
api.override_step_data( |
'analyze', |
- api.raw_io.stream_output('Found dependency'))) |
+ api.json.output({'error': 'ERROR'}))) |