OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2014 Google Inc. All rights reserved. | 2 # Copyright (c) 2014 Google Inc. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Tests for analyzer | 6 """Tests for analyzer |
7 """ | 7 """ |
8 | 8 |
| 9 from __future__ import print_function |
| 10 |
9 import json | 11 import json |
10 import TestGyp | 12 import TestGyp |
11 | 13 |
12 found = 'Found dependency' | 14 found = 'Found dependency' |
13 found_all = 'Found dependency (all)' | 15 found_all = 'Found dependency (all)' |
14 not_found = 'No dependencies' | 16 not_found = 'No dependencies' |
15 | 17 |
16 | 18 |
17 def _CreateConfigFile(files, additional_compile_targets, test_targets=[]): | 19 def _CreateConfigFile(files, additional_compile_targets, test_targets=[]): |
18 """Creates the analyzer config file, which is used as the input to analyzer. | 20 """Creates the analyzer config file, which is used as the input to analyzer. |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 def run_analyzer4(*args, **kw): | 70 def run_analyzer4(*args, **kw): |
69 """Same as run_analyzer(), but passes in test3.gyp instead of test.gyp.""" | 71 """Same as run_analyzer(), but passes in test3.gyp instead of test.gyp.""" |
70 args += CommonArgs() | 72 args += CommonArgs() |
71 test.run_gyp('test4.gyp', *args, **kw) | 73 test.run_gyp('test4.gyp', *args, **kw) |
72 | 74 |
73 | 75 |
74 def EnsureContains(matched=False, compile_targets=set(), test_targets=set()): | 76 def EnsureContains(matched=False, compile_targets=set(), test_targets=set()): |
75 """Verifies output contains |compile_targets|.""" | 77 """Verifies output contains |compile_targets|.""" |
76 result = _ReadOutputFileContents() | 78 result = _ReadOutputFileContents() |
77 if 'error' in result: | 79 if 'error' in result: |
78 print 'unexpected error', result.get('error') | 80 print('unexpected error', result.get('error')) |
79 test.fail_test() | 81 test.fail_test() |
80 | 82 |
81 if 'invalid_targets' in result: | 83 if 'invalid_targets' in result: |
82 print 'unexpected invalid_targets', result.get('invalid_targets') | 84 print('unexpected invalid_targets', result.get('invalid_targets')) |
83 test.fail_test() | 85 test.fail_test() |
84 | 86 |
85 actual_compile_targets = set(result['compile_targets']) | 87 actual_compile_targets = set(result['compile_targets']) |
86 if actual_compile_targets != compile_targets: | 88 if actual_compile_targets != compile_targets: |
87 print 'actual compile_targets:', actual_compile_targets, \ | 89 print('actual compile_targets:', actual_compile_targets, |
88 '\nexpected compile_targets:', compile_targets | 90 '\nexpected compile_targets:', compile_targets) |
89 test.fail_test() | 91 test.fail_test() |
90 | 92 |
91 actual_test_targets = set(result['test_targets']) | 93 actual_test_targets = set(result['test_targets']) |
92 if actual_test_targets != test_targets: | 94 if actual_test_targets != test_targets: |
93 print 'actual test_targets:', actual_test_targets, \ | 95 print('actual test_targets:', actual_test_targets, |
94 '\nexpected test_targets:', test_targets | 96 '\nexpected test_targets:', test_targets) |
95 test.fail_test() | 97 test.fail_test() |
96 | 98 |
97 if matched and result['status'] != found: | 99 if matched and result['status'] != found: |
98 print 'expected', found, 'got', result['status'] | 100 print('expected', found, 'got', result['status']) |
99 test.fail_test() | 101 test.fail_test() |
100 elif not matched and result['status'] != not_found: | 102 elif not matched and result['status'] != not_found: |
101 print 'expected', not_found, 'got', result['status'] | 103 print('expected', not_found, 'got', result['status']) |
102 test.fail_test() | 104 test.fail_test() |
103 | 105 |
104 | 106 |
105 def EnsureMatchedAll(compile_targets, test_targets=set()): | 107 def EnsureMatchedAll(compile_targets, test_targets=set()): |
106 result = _ReadOutputFileContents() | 108 result = _ReadOutputFileContents() |
107 if 'error' in result: | 109 if 'error' in result: |
108 print 'unexpected error', result.get('error') | 110 print('unexpected error', result.get('error')) |
109 test.fail_test() | 111 test.fail_test() |
110 | 112 |
111 if 'invalid_targets' in result: | 113 if 'invalid_targets' in result: |
112 print 'unexpected invalid_targets', result.get('invalid_targets') | 114 print('unexpected invalid_targets', result.get('invalid_targets')) |
113 test.fail_test() | 115 test.fail_test() |
114 | 116 |
115 if result['status'] != found_all: | 117 if result['status'] != found_all: |
116 print 'expected', found_all, 'got', result['status'] | 118 print('expected', found_all, 'got', result['status']) |
117 test.fail_test() | 119 test.fail_test() |
118 | 120 |
119 actual_compile_targets = set(result['compile_targets']) | 121 actual_compile_targets = set(result['compile_targets']) |
120 if actual_compile_targets != compile_targets: | 122 if actual_compile_targets != compile_targets: |
121 print ('actual compile_targets:', actual_compile_targets, | 123 print('actual compile_targets:', actual_compile_targets, |
122 '\nexpected compile_targets:', compile_targets) | 124 '\nexpected compile_targets:', compile_targets) |
123 test.fail_test() | 125 test.fail_test() |
124 | 126 |
125 actual_test_targets = set(result['test_targets']) | 127 actual_test_targets = set(result['test_targets']) |
126 if actual_test_targets != test_targets: | 128 if actual_test_targets != test_targets: |
127 print ('actual test_targets:', actual_test_targets, | 129 print('actual test_targets:', actual_test_targets, |
128 '\nexpected test_targets:', test_targets) | 130 '\nexpected test_targets:', test_targets) |
129 test.fail_test() | 131 test.fail_test() |
130 | 132 |
131 | 133 |
132 def EnsureError(expected_error_string): | 134 def EnsureError(expected_error_string): |
133 """Verifies output contains the error string.""" | 135 """Verifies output contains the error string.""" |
134 result = _ReadOutputFileContents() | 136 result = _ReadOutputFileContents() |
135 if result.get('error', '').find(expected_error_string) == -1: | 137 if result.get('error', '').find(expected_error_string) == -1: |
136 print 'actual error:', result.get('error', ''), '\nexpected error:', \ | 138 print('actual error:', result.get('error', ''), '\nexpected error:', |
137 expected_error_string | 139 expected_error_string) |
138 test.fail_test() | 140 test.fail_test() |
139 | 141 |
140 | 142 |
141 def EnsureStdoutContains(expected_error_string): | 143 def EnsureStdoutContains(expected_error_string): |
142 if test.stdout().find(expected_error_string) == -1: | 144 if test.stdout().find(expected_error_string) == -1: |
143 print 'actual stdout:', test.stdout(), '\nexpected stdout:', \ | 145 print('actual stdout:', test.stdout(), '\nexpected stdout:', |
144 expected_error_string | 146 expected_error_string) |
145 test.fail_test() | 147 test.fail_test() |
146 | 148 |
147 | 149 |
148 def EnsureInvalidTargets(expected_invalid_targets): | 150 def EnsureInvalidTargets(expected_invalid_targets): |
149 """Verifies output contains invalid_targets.""" | 151 """Verifies output contains invalid_targets.""" |
150 result = _ReadOutputFileContents() | 152 result = _ReadOutputFileContents() |
151 actual_invalid_targets = set(result['invalid_targets']) | 153 actual_invalid_targets = set(result['invalid_targets']) |
152 if actual_invalid_targets != expected_invalid_targets: | 154 if actual_invalid_targets != expected_invalid_targets: |
153 print 'actual invalid_targets:', actual_invalid_targets, \ | 155 print('actual invalid_targets:', actual_invalid_targets, |
154 '\nexpected :', expected_invalid_targets | 156 '\nexpected :', expected_invalid_targets) |
155 test.fail_test() | 157 test.fail_test() |
156 | 158 |
157 | 159 |
158 # Two targets, A and B (both static_libraries) and A depends upon B. If a file | 160 # Two targets, A and B (both static_libraries) and A depends upon B. If a file |
159 # in B changes, then both A and B are output. It is not strictly necessary that | 161 # in B changes, then both A and B are output. It is not strictly necessary that |
160 # A is compiled in this case, only B. | 162 # A is compiled in this case, only B. |
161 _CreateConfigFile(['b.c'], ['all']) | 163 _CreateConfigFile(['b.c'], ['all']) |
162 test.run_gyp('static_library_test.gyp', *CommonArgs()) | 164 test.run_gyp('static_library_test.gyp', *CommonArgs()) |
163 EnsureContains(matched=True, compile_targets={'a' ,'b'}) | 165 EnsureContains(matched=True, compile_targets={'a' ,'b'}) |
164 | 166 |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 run_analyzer() | 418 run_analyzer() |
417 EnsureContains(matched=True, compile_targets={'exe3', 'all'}, | 419 EnsureContains(matched=True, compile_targets={'exe3', 'all'}, |
418 test_targets={'all'}) | 420 test_targets={'all'}) |
419 | 421 |
420 _CreateConfigFile(['exe2.c'], [], ['all', 'exe2']) | 422 _CreateConfigFile(['exe2.c'], [], ['all', 'exe2']) |
421 run_analyzer() | 423 run_analyzer() |
422 EnsureContains(matched=True, compile_targets={'exe2', 'all'}, | 424 EnsureContains(matched=True, compile_targets={'exe2', 'all'}, |
423 test_targets={'all', 'exe2'}) | 425 test_targets={'all', 'exe2'}) |
424 | 426 |
425 test.pass_test() | 427 test.pass_test() |
OLD | NEW |