summaryrefslogtreecommitdiff
path: root/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-02-09 14:16:12 +0100
commit03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (patch)
tree52599cd0ab782b1768e23ad176f7618f98333cb6 /Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
parentcd44dc59cdfc39534aef4d417e9f3c412e3be139 (diff)
downloadqtwebkit-03e12282df9aa1e1fb05a8b90f1cfc2e08764cec.tar.gz
Imported WebKit commit e09a82039aa4273ab318b71122e92d8e5f233525 (http://svn.webkit.org/repository/webkit/trunk@107223)
Diffstat (limited to 'Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py')
-rw-r--r--Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py b/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
index 097a53726..d605829a0 100644
--- a/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
+++ b/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
@@ -46,8 +46,6 @@ _log = logging.getLogger(__name__)
class PerfTestsRunner(object):
- _perf_tests_base_dir = 'PerformanceTests'
- _initial_page_relative_path = 'resources/init.html'
_test_directories_for_chromium_style_tests = ['inspector']
_default_branch = 'webkit-trunk'
_EXIT_CODE_BAD_BUILD = -1
@@ -67,7 +65,6 @@ class PerfTestsRunner(object):
self._printer = printing.Printer(self._port, self._options, regular_output, buildbot_output, configure_logging=False)
self._webkit_base_dir_len = len(self._port.webkit_base())
self._base_path = self._port.perf_tests_dir()
- self._initial_page_path = self._host.filesystem.join(self._base_path, self._initial_page_relative_path)
self._results = {}
self._timestamp = time.time()
@@ -109,8 +106,15 @@ class PerfTestsRunner(object):
def _is_test_file(filesystem, dirname, filename):
return filename.endswith('.html')
+ paths = []
+ for arg in self._args:
+ paths.append(arg)
+ relpath = self._host.filesystem.relpath(arg, self._base_path)
+ if relpath:
+ paths.append(relpath)
+
skipped_directories = set(['.svn', 'resources'])
- tests = find_files.find(self._host.filesystem, self._base_path, self._args, skipped_directories, _is_test_file)
+ tests = find_files.find(self._host.filesystem, self._base_path, paths, skipped_directories, _is_test_file)
return [test for test in tests if not self._port.skips_perf_test(self._port.relative_perf_test_filename(test))]
def run(self):
@@ -147,14 +151,16 @@ class PerfTestsRunner(object):
return unexpected
def _generate_json(self, timestamp, output_json_path, source_json_path, branch, platform, builder_name, build_number):
- revision = self._host.scm().head_svn_revision()
- contents = {'timestamp': int(timestamp), 'revision': revision, 'results': self._results}
+ contents = {'timestamp': int(timestamp), 'results': self._results}
+ for (name, path) in self._port.repository_paths():
+ contents[name + '-revision'] = self._host.scm().svn_revision(path)
for key, value in {'branch': branch, 'platform': platform, 'builder-name': builder_name, 'build-number': build_number}.items():
if value:
contents[key] = value
filesystem = self._host.filesystem
+ succeeded = False
if source_json_path:
try:
source_json_file = filesystem.open_text_file_for_reading(source_json_path)
@@ -204,6 +210,7 @@ class PerfTestsRunner(object):
result_count = len(tests)
expected = 0
unexpected = 0
+ driver = None
for test in tests:
driver = port.create_driver(worker_number=1, no_timeout=True)
@@ -245,7 +252,8 @@ class PerfTestsRunner(object):
re.compile(r'^\d+(.\d+)?$'),
# Following are for handle existing test like Dromaeo
re.compile(re.escape("""main frame - has 1 onunload handler(s)""")),
- re.compile(re.escape("""frame "<!--framePath //<!--frame0-->-->" - has 1 onunload handler(s)"""))]
+ re.compile(re.escape("""frame "<!--framePath //<!--frame0-->-->" - has 1 onunload handler(s)""")),
+ re.compile(re.escape("""frame "<!--framePath //<!--frame0-->/<!--frame0-->-->" - has 1 onunload handler(s)"""))]
def _should_ignore_line_in_parser_test_result(self, line):
if not line:
@@ -283,9 +291,6 @@ class PerfTestsRunner(object):
def _run_single_test(self, test, driver, is_chromium_style):
test_failed = False
- output = driver.run_test(DriverInput(self._initial_page_path, 10000, None, False))
- if output.text != 'PASS\n':
- self._printer.write('Initialization page failed to load.')
output = driver.run_test(DriverInput(test, self._options.time_out_ms, None, False))
if output.text == None: