Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 DEPS = [ | 5 DEPS = [ |
| 6 'filter', | 6 'filter', |
| 7 'json', | |
| 7 'path', | 8 'path', |
| 8 'properties', | 9 'properties', |
| 9 'raw_io', | 10 'raw_io', |
| 10 ] | 11 ] |
| 11 | 12 |
| 12 def GenSteps(api): | 13 def GenSteps(api): |
| 13 api.path['checkout'] = api.path['slave_build'] | 14 api.path['checkout'] = api.path['slave_build'] |
| 14 api.filter.does_patch_require_compile() | 15 api.filter.does_patch_require_compile() |
| 15 assert (api.filter.result and api.properties['example_result']) or \ | 16 assert (api.filter.result and api.properties['example_result']) or \ |
| 16 (not api.filter.result and not api.properties['example_result']) | 17 (not api.filter.result and not api.properties['example_result']) |
| 18 assert (not api.properties['example_matching_exes'] or | |
| 19 list(api.properties['example_matching_exes']) == | |
| 20 api.filter.matching_exes) | |
| 17 | 21 |
| 18 def GenTests(api): | 22 def GenTests(api): |
| 19 # Trivial test with no exclusions and nothing matching. | 23 # Trivial test with no exclusions and nothing matching. |
| 20 yield (api.test('basic') + | 24 yield (api.test('basic') + |
| 21 api.properties(filter_exclusions=[]) + | 25 api.properties(filter_exclusions=[]) + |
| 22 api.properties(example_result=None) + | 26 api.properties(example_result=None) + |
| 27 api.properties(example_matching_exes=None) + | |
| 23 api.override_step_data( | 28 api.override_step_data( |
| 24 'analyze', | 29 'analyze', |
| 25 api.raw_io.stream_output('xx')) + | 30 stdout=api.json.output({'status': 'No dependency'})) + |
| 26 api.override_step_data( | 31 api.override_step_data( |
| 27 'git diff to analyze patch', | 32 'git diff to analyze patch', |
| 28 api.raw_io.stream_output('yy'))) | 33 api.raw_io.stream_output('yy'))) |
| 29 | 34 |
| 30 # Matches exclusions | 35 # Matches exclusions |
| 31 yield (api.test('match_exclusion') + | 36 yield (api.test('match_exclusion') + |
| 32 api.properties(filter_exclusions=['fo.*']) + | 37 api.properties(filter_exclusions=['fo.*']) + |
| 33 api.properties(example_result=1) + | 38 api.properties(example_result=1) + |
| 39 api.properties(example_matching_exes=None) + | |
| 34 api.override_step_data( | 40 api.override_step_data( |
| 35 'git diff to analyze patch', | 41 'git diff to analyze patch', |
| 36 api.raw_io.stream_output('foo.cc'))) | 42 api.raw_io.stream_output('foo.cc'))) |
| 37 | 43 |
| 38 # Doesnt match exclusion. | 44 # Doesnt match exclusion. |
| 39 yield (api.test('doesnt_match_exclusion') + | 45 yield (api.test('doesnt_match_exclusion') + |
| 40 api.properties(filter_exclusions=['fo.*']) + | 46 api.properties(filter_exclusions=['fo.*']) + |
| 41 api.properties(example_result=None) + | 47 api.properties(example_result=None) + |
| 48 api.properties(example_matching_exes=None) + | |
| 42 api.override_step_data( | 49 api.override_step_data( |
| 43 'analyze', | 50 'analyze', |
| 44 api.raw_io.stream_output('xx')) + | 51 stdout=api.json.output({'status': 'No dependency'})) + |
|
iannucci
2014/07/30 01:20:37
just wondering... there's not a way to actually ha
sky
2014/07/30 21:14:16
I changed the analyze code to do that. It simplifi
| |
| 45 api.override_step_data( | 52 api.override_step_data( |
| 46 'git diff to analyze patch', | 53 'git diff to analyze patch', |
| 47 api.raw_io.stream_output('bar.cc'))) | 54 api.raw_io.stream_output('bar.cc'))) |
| 48 | 55 |
| 49 # Analyze returns matching result. | 56 # Analyze returns matching result. |
| 50 yield (api.test('analyzes_returns_true') + | 57 yield (api.test('analyzes_returns_true') + |
| 51 api.properties(example_result=1) + | 58 api.properties(example_result=1) + |
| 59 api.properties(example_matching_exes=None) + | |
| 52 api.override_step_data( | 60 api.override_step_data( |
| 53 'analyze', | 61 'analyze', |
| 54 api.raw_io.stream_output('Found dependency'))) | 62 stdout=api.json.output({'status': 'Found dependency', |
| 63 'targets': []}))) | |
| 64 | |
| 65 # Analyze returns matching tests. | |
| 66 yield (api.test('analyzes_matches_exes') + | |
| 67 api.properties(matching_exes=['foo', 'bar']) + | |
| 68 api.properties(example_matching_exes=['foo']) + | |
| 69 api.properties(example_result=1) + | |
| 70 api.override_step_data( | |
| 71 'analyze', | |
| 72 stdout=api.json.output({'status': 'Found dependency', | |
| 73 'targets': ['foo']}))) | |
| 74 | |
| 75 # Analyze with error condition. | |
| 76 yield (api.test('analyzes_error') + | |
| 77 api.properties(matching_exes=None) + | |
| 78 api.properties(example_matching_exes=None) + | |
| 79 api.properties(example_result=1) + | |
| 80 api.override_step_data( | |
| 81 'analyze', | |
| 82 stdout=api.json.output({'error': 'ERROR'}))) | |
| OLD | NEW |