| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
| 5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
| 6 | 6 |
| 7 import datetime | 7 import datetime |
| 8 import math | 8 import math |
| 9 try: | 9 try: |
| 10 from matplotlib.font_manager import FontProperties | 10 from matplotlib.font_manager import FontProperties |
| (...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 820 | 820 |
| 821 @staticmethod | 821 @staticmethod |
| 822 def get_dromaeo_versions(): | 822 def get_dromaeo_versions(): |
| 823 return ['js', 'frog_dom', 'frog_html', 'dart2js_dom', 'dart2js_html'] | 823 return ['js', 'frog_dom', 'frog_html', 'dart2js_dom', 'dart2js_html'] |
| 824 | 824 |
| 825 | 825 |
| 826 class DromaeoTest(RuntimePerformanceTest): | 826 class DromaeoTest(RuntimePerformanceTest): |
| 827 """Runs Dromaeo tests, in the browser.""" | 827 """Runs Dromaeo tests, in the browser.""" |
| 828 def __init__(self, test_runner): | 828 def __init__(self, test_runner): |
| 829 super(DromaeoTest, self).__init__( | 829 super(DromaeoTest, self).__init__( |
| 830 self.name(), BrowserTester.get_browsers(), 'browser', | 830 self.name(), |
| 831 filter(lambda x: x != 'ie', BrowserTester.get_browsers()), |
| 832 'browser', |
| 831 DromaeoTester.get_dromaeo_versions(), | 833 DromaeoTester.get_dromaeo_versions(), |
| 832 DromaeoTester.get_dromaeo_benchmarks(), test_runner, | 834 DromaeoTester.get_dromaeo_benchmarks(), test_runner, |
| 833 self.DromaeoPerfTester(self), | 835 self.DromaeoPerfTester(self), |
| 834 self.DromaeoFileProcessor(self)) | 836 self.DromaeoFileProcessor(self)) |
| 835 # TODO(vsm): These tester/grapher/processor classes should be | 837 # TODO(vsm): These tester/grapher/processor classes should be |
| 836 # cleaner to override. | 838 # cleaner to override. |
| 837 self.grapher = self.DromaeoPerfGrapher(self) | 839 self.grapher = self.DromaeoPerfGrapher(self) |
| 838 | 840 |
| 839 @staticmethod | 841 @staticmethod |
| 840 def name(): | 842 def name(): |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 | 930 |
| 929 # Build tests. | 931 # Build tests. |
| 930 dromaeo_path = os.path.join('samples', 'third_party', 'dromaeo') | 932 dromaeo_path = os.path.join('samples', 'third_party', 'dromaeo') |
| 931 current_path = os.getcwd() | 933 current_path = os.getcwd() |
| 932 os.chdir(dromaeo_path) | 934 os.chdir(dromaeo_path) |
| 933 self.test.test_runner.run_cmd(['python', 'generate_dart2js_tests.py']) | 935 self.test.test_runner.run_cmd(['python', 'generate_dart2js_tests.py']) |
| 934 os.chdir(current_path) | 936 os.chdir(current_path) |
| 935 | 937 |
| 936 versions = DromaeoTester.get_dromaeo_versions() | 938 versions = DromaeoTester.get_dromaeo_versions() |
| 937 | 939 |
| 938 for browser in BrowserTester.get_browsers(): | 940 for browser in filter(lambda x: x != 'ie', BrowserTester.get_browsers()): |
| 939 self.move_chrome_driver_if_needed(browser) | 941 self.move_chrome_driver_if_needed(browser) |
| 940 for version_name in versions: | 942 for version_name in versions: |
| 941 if not self.test.is_valid_combination(browser, version_name): | 943 if not self.test.is_valid_combination(browser, version_name): |
| 942 continue | 944 continue |
| 943 version = DromaeoTest.DromaeoPerfTester.get_dromaeo_url_query( | 945 version = DromaeoTest.DromaeoPerfTester.get_dromaeo_url_query( |
| 944 browser, version_name) | 946 browser, version_name) |
| 945 self.test.trace_file = os.path.join( | 947 self.test.trace_file = os.path.join( |
| 946 'tools', 'testing', 'perf_testing', self.test.result_folder_name, | 948 'tools', 'testing', 'perf_testing', self.test.result_folder_name, |
| 947 'dromaeo-%s-%s-%s' % (self.test.cur_time, browser, version_name)) | 949 'dromaeo-%s-%s-%s' % (self.test.cur_time, browser, version_name)) |
| 948 self.add_svn_revision_to_trace(self.test.trace_file, browser) | 950 self.add_svn_revision_to_trace(self.test.trace_file, browser) |
| 949 file_path = '"%s"' % os.path.join(os.getcwd(), dromaeo_path, | 951 file_path = '"%s"' % os.path.join(os.getcwd(), dromaeo_path, |
| 950 'index-js.html?%s' % version) | 952 'index-js.html?%s' % version) |
| 953 if platform.system() == 'Windows': |
| 954 file_path = file_path.replace('&', '^&') |
| 955 file_path = file_path.replace('?', '^?') |
| 956 file_path = file_path.replace('|', '^|') |
| 951 self.test.test_runner.run_cmd( | 957 self.test.test_runner.run_cmd( |
| 952 ['python', os.path.join('tools', 'testing', 'run_selenium.py'), | 958 ['python', os.path.join('tools', 'testing', 'run_selenium.py'), |
| 953 '--out', file_path, '--browser', browser, | 959 '--out', file_path, '--browser', browser, |
| 954 '--timeout', '900', '--mode', 'dromaeo'], self.test.trace_file, | 960 '--timeout', '900', '--mode', 'dromaeo'], self.test.trace_file, |
| 955 append=True) | 961 append=True) |
| 956 # Put default Chromedriver back in. | 962 # Put default Chromedriver back in. |
| 957 self.move_chrome_driver_if_needed('chrome') | 963 self.move_chrome_driver_if_needed('chrome') |
| 958 | 964 |
| 959 @staticmethod | 965 @staticmethod |
| 960 def get_dromaeo_url_query(browser, version): | 966 def get_dromaeo_url_query(browser, version): |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1311 while True: | 1317 while True: |
| 1312 if runner.has_new_code(): | 1318 if runner.has_new_code(): |
| 1313 runner.run_test_sequence() | 1319 runner.run_test_sequence() |
| 1314 else: | 1320 else: |
| 1315 time.sleep(200) | 1321 time.sleep(200) |
| 1316 else: | 1322 else: |
| 1317 runner.run_test_sequence() | 1323 runner.run_test_sequence() |
| 1318 | 1324 |
| 1319 if __name__ == '__main__': | 1325 if __name__ == '__main__': |
| 1320 main() | 1326 main() |
| OLD | NEW |