| OLD | NEW |
| 1 #! /usr/bin/python | 1 #! /usr/bin/python |
| 2 # Copyright 2016 The Chromium Authors. All rights reserved. | 2 # Copyright 2016 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 """An integration test for tracing. | 6 """An integration test for tracing. |
| 7 | 7 |
| 8 This is not run as part of unittests and is executed directly. In normal | 8 This is not run as part of unittests and is executed directly. In normal |
| 9 operation it can be run with no arguments (or perhaps --no_sandbox depending on | 9 operation it can be run with no arguments (or perhaps --no_sandbox depending on |
| 10 how you have chrome set up). When debugging or adding tests, setting | 10 how you have chrome set up). When debugging or adding tests, setting |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 import json | 34 import json |
| 35 import os | 35 import os |
| 36 import shutil | 36 import shutil |
| 37 import subprocess | 37 import subprocess |
| 38 import sys | 38 import sys |
| 39 import tempfile | 39 import tempfile |
| 40 import urlparse | 40 import urlparse |
| 41 | 41 |
| 42 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) | 42 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) |
| 43 | 43 |
| 44 import clovis_constants |
| 44 import controller | 45 import controller |
| 45 import loading_trace | 46 import loading_trace |
| 46 import options | 47 import options |
| 47 | 48 |
| 48 | 49 |
| 49 OPTIONS = options.OPTIONS | 50 OPTIONS = options.OPTIONS |
| 50 WEBSERVER = os.path.join(os.path.dirname(__file__), 'test_server.py') | 51 WEBSERVER = os.path.join(os.path.dirname(__file__), 'test_server.py') |
| 51 TESTDIR = os.path.join(os.path.dirname(__file__), 'tests') | 52 TESTDIR = os.path.join(os.path.dirname(__file__), 'tests') |
| 52 RESULTDIR = os.path.join(os.path.dirname(__file__), 'results') | 53 RESULTDIR = os.path.join(os.path.dirname(__file__), 'results') |
| 53 | 54 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 True if the test passed and false otherwise. Status is printed to stdout. | 228 True if the test passed and false otherwise. Status is printed to stdout. |
| 228 """ | 229 """ |
| 229 url = 'http://%s/%s' % (webserver.Address(), test_page) | 230 url = 'http://%s/%s' % (webserver.Address(), test_page) |
| 230 sys.stdout.write('Testing %s...' % url) | 231 sys.stdout.write('Testing %s...' % url) |
| 231 chrome_controller = controller.LocalChromeController() | 232 chrome_controller = controller.LocalChromeController() |
| 232 | 233 |
| 233 with chrome_controller.Open() as connection: | 234 with chrome_controller.Open() as connection: |
| 234 connection.ClearCache() | 235 connection.ClearCache() |
| 235 observed_seq = InitiatorSequence( | 236 observed_seq = InitiatorSequence( |
| 236 loading_trace.LoadingTrace.RecordUrlNavigation( | 237 loading_trace.LoadingTrace.RecordUrlNavigation( |
| 237 url, connection, chrome_controller.ChromeMetadata())) | 238 url, connection, chrome_controller.ChromeMetadata(), |
| 239 categories=clovis_constants.DEFAULT_CATEGORIES)) |
| 238 if observed_seq == expected: | 240 if observed_seq == expected: |
| 239 sys.stdout.write(' ok\n') | 241 sys.stdout.write(' ok\n') |
| 240 return True | 242 return True |
| 241 else: | 243 else: |
| 242 sys.stdout.write(' FAILED!\n') | 244 sys.stdout.write(' FAILED!\n') |
| 243 if OPTIONS.failed_trace_dir: | 245 if OPTIONS.failed_trace_dir: |
| 244 outname = os.path.join(OPTIONS.failed_trace_dir, | 246 outname = os.path.join(OPTIONS.failed_trace_dir, |
| 245 test_page + '.observed_result') | 247 test_page + '.observed_result') |
| 246 with file(outname, 'w') as output: | 248 with file(outname, 'w') as output: |
| 247 observed_seq.DumpToFile(output) | 249 observed_seq.DumpToFile(output) |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 print 'all tests passed' | 282 print 'all tests passed' |
| 281 | 283 |
| 282 | 284 |
| 283 if __name__ == '__main__': | 285 if __name__ == '__main__': |
| 284 OPTIONS.ParseArgs(sys.argv[1:], | 286 OPTIONS.ParseArgs(sys.argv[1:], |
| 285 description='Run webserver integration test', | 287 description='Run webserver integration test', |
| 286 extra=[('--failed_trace_dir', ''), | 288 extra=[('--failed_trace_dir', ''), |
| 287 ('--noisy', False), | 289 ('--noisy', False), |
| 288 ('--test_filter', None)]) | 290 ('--test_filter', None)]) |
| 289 RunAllTests() | 291 RunAllTests() |
| OLD | NEW |