OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2015 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2015 The Chromium Authors. 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 """Unit tests for upload_test_results.py.""" | 6 """Unit tests for upload_test_results.py.""" |
7 | 7 |
8 import json | 8 import json |
9 import os | 9 import os |
10 import shutil | 10 import shutil |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 }], | 72 }], |
73 } | 73 } |
74 results = upload_test_results.get_results_map_from_json( | 74 results = upload_test_results.get_results_map_from_json( |
75 json.dumps(contents)) | 75 json.dumps(contents)) |
76 self.assertEquals(results['Disabled.Test'][0].DISABLED, | 76 self.assertEquals(results['Disabled.Test'][0].DISABLED, |
77 results['Disabled.Test'][0].modifier) | 77 results['Disabled.Test'][0].modifier) |
78 self.assertEquals(results['Disabled.Test'][0].DISABLED, | 78 self.assertEquals(results['Disabled.Test'][0].DISABLED, |
79 results['Skipped.Test'][0].modifier) | 79 results['Skipped.Test'][0].modifier) |
80 | 80 |
81 @mock.patch('test_results_uploader.upload_test_results') | 81 @mock.patch('test_results_uploader.upload_test_results') |
82 def test_main(self, uploader_mock): | 82 def test_main_gtest_json(self, uploader_mock): |
83 contents = { | 83 contents = { |
84 'per_iteration_data': [{ | 84 'per_iteration_data': [{ |
85 'Fake.Test': [ | 85 'Fake.Test': [ |
86 {'status': 'XXX', 'elapsed_time_ms': 1000}, | 86 {'status': 'XXX', 'elapsed_time_ms': 1000}, |
87 ], | 87 ], |
88 }], | 88 }], |
89 } | 89 } |
90 result_directory = tempfile.mkdtemp() | 90 result_directory = tempfile.mkdtemp() |
91 input_json_file_path = os.path.join(result_directory, 'results.json') | |
92 with open(input_json_file_path, 'w') as f: | |
93 json.dump(contents, f) | |
94 try: | 91 try: |
| 92 input_json_file_path = os.path.join(result_directory, 'results.json') |
| 93 with open(input_json_file_path, 'w') as f: |
| 94 json.dump(contents, f) |
95 upload_test_results.main([ | 95 upload_test_results.main([ |
96 '--test-type=foo', | 96 '--test-type=foo', |
97 '--input-json=%s' % input_json_file_path, | 97 '--input-json=%s' % input_json_file_path, |
98 '--results-directory=%s' % result_directory, | 98 '--results-directory=%s' % result_directory, |
99 '--test-results-server=foo', | 99 '--test-results-server=foo', |
100 '--master-name=sauron', | 100 '--master-name=sauron', |
101 ]) | 101 ]) |
102 files = [ | 102 files = [ |
103 ('full_results.json', | 103 ('full_results.json', |
104 os.path.join(result_directory, | 104 os.path.join(result_directory, |
105 upload_test_results.FULL_RESULTS_FILENAME)), | 105 upload_test_results.FULL_RESULTS_FILENAME)), |
106 ('times_ms.json', | 106 ('times_ms.json', |
107 os.path.join(result_directory, | 107 os.path.join(result_directory, |
108 upload_test_results.TIMES_MS_FILENAME))] | 108 upload_test_results.TIMES_MS_FILENAME))] |
109 uploader_mock.assert_called_with( | 109 uploader_mock.assert_called_with( |
110 'foo', | 110 'foo', |
111 [('builder', 'DUMMY_BUILDER_NAME'), | 111 [('builder', 'DUMMY_BUILDER_NAME'), |
112 ('testtype', 'foo'), | 112 ('testtype', 'foo'), |
113 ('master', 'sauron')], files, 120) | 113 ('master', 'sauron')], files, 120) |
114 finally: | 114 finally: |
115 shutil.rmtree(result_directory) | 115 shutil.rmtree(result_directory) |
116 | 116 |
| 117 @mock.patch('test_results_uploader.upload_test_results') |
| 118 def test_main_full_results_json(self, uploader_mock): |
| 119 contents = { |
| 120 'tests': { |
| 121 'mojom_tests': { |
| 122 'parse': { |
| 123 'ast_unittest': { |
| 124 'ASTTest': { |
| 125 'testNodeBase': { |
| 126 'expected': 'PASS', |
| 127 'actual': 'PASS' |
| 128 } |
| 129 } |
| 130 } |
| 131 } |
| 132 } |
| 133 }, |
| 134 'interrupted': False, |
| 135 'path_delimiter': '.', |
| 136 'version': 3, |
| 137 'seconds_since_epoch': 1406662283.764424, |
| 138 'num_failures_by_type': { |
| 139 'FAIL': 0, |
| 140 'PASS': 1 |
| 141 } |
| 142 } |
| 143 result_directory = tempfile.mkdtemp() |
| 144 try: |
| 145 input_json_file_path = os.path.join(result_directory, 'results.json') |
| 146 with open(input_json_file_path, 'w') as f: |
| 147 json.dump(contents, f) |
| 148 upload_test_results.main([ |
| 149 '--test-type=foo', |
| 150 '--input-json=%s' % input_json_file_path, |
| 151 '--results-directory=%s' % result_directory, |
| 152 '--test-results-server=foo', |
| 153 '--master-name=sauron', |
| 154 ]) |
| 155 files = [(os.path.basename(input_json_file_path), input_json_file_path)] |
| 156 uploader_mock.assert_called_with( |
| 157 'foo', |
| 158 [('builder', 'DUMMY_BUILDER_NAME'), |
| 159 ('testtype', 'foo'), |
| 160 ('master', 'sauron')], files, 120) |
| 161 finally: |
| 162 shutil.rmtree(result_directory) |
| 163 |
117 | 164 |
| 165 |
118 if __name__ == '__main__': | 166 if __name__ == '__main__': |
119 unittest.main() | 167 unittest.main() |
OLD | NEW |