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 |