diff --git a/testing/performance/talos/page_load_test/framecycler.html b/testing/performance/talos/page_load_test/framecycler.html index 406b7c021e5a..32efb46e5af3 100644 --- a/testing/performance/talos/page_load_test/framecycler.html +++ b/testing/performance/talos/page_load_test/framecycler.html @@ -4,6 +4,8 @@ var NUM_PAGES; var NUM_CYCLES; + var DEFAULT_TIMEOUT = 5000; //how long any given page can take to load + var t; function parseParams() { var s = document.location.search.substring(1); @@ -178,19 +180,25 @@ } } + function loadFail() { + dump("__FAILtimeout:" + frames["content"].document.location.href + "__FAIL"); + window.close(); + } + function loadPage(i) { tstart = new Date(); + t = setTimeout('loadFail()', DEFAULT_TIMEOUT); frames["content"].document.location = pages[i]; } function frameLoad() { + clearTimeout(t); if (cycle == NUM_CYCLES) { showReport(); dumpReport(); window.close(); return; } - var tend = new Date(); var href = frames["content"].document.location.href; if (href == "about:blank") diff --git a/testing/performance/talos/run_tests.py b/testing/performance/talos/run_tests.py index fbc1dbe2e9b7..e36441c03d3c 100755 --- a/testing/performance/talos/run_tests.py +++ b/testing/performance/talos/run_tests.py @@ -139,8 +139,12 @@ def test_file(filename): print "finished ts" sys.stdout.flush() + for ts_set in ts_times: + if len(ts_set) == 0: + print "FAIL:no ts results:something bad happened:BAD BUILD" + sys.exit(0) - (r_strings, tp_times, tp_counters) = tp.RunPltTests(test_configs, + (res, r_strings, tp_times, tp_counters) = tp.RunPltTests(test_configs, config.TP_NUM_CYCLES, config.COUNTERS, config.TP_RESOLUTION) @@ -149,6 +153,11 @@ def test_file(filename): sys.stdout.flush() + if not res: + print "something bad happened during tp" + print "FAIL:" + r_strings[0] + sys.exit(0) + #TODO: place this in its own file #send results to the graph server # each line of the string is of the format page:page_name:page_loadtime\n diff --git a/testing/performance/talos/tp.py b/testing/performance/talos/tp.py index 9990a1b0a96d..0ddf40cce811 100755 --- a/testing/performance/talos/tp.py +++ b/testing/performance/talos/tp.py @@ -68,6 +68,7 @@ elif config.OS == "win32": # Regular expression to get stats for page load test (Tp) TP_REGEX = re.compile('__start_page_load_report(.*)__end_page_load_report', re.DOTALL | re.MULTILINE) +TP_REGEX_FAIL = re.compile('__FAIL(.*)__FAIL', re.DOTALL|re.MULTILINE) def RunPltTests(profile_configs, @@ -96,7 +97,8 @@ def RunPltTests(profile_configs, [{"counter1": [1, 2, 3], "counter2":[4,5,6]}, {"counter1":[1,3,5], "counter2":[2,4,6]}] """ - + + res = 0 counter_data = [] plt_results = [] results_string = [] @@ -153,6 +155,12 @@ def RunPltTests(profile_configs, (bytes, current_output) = ffprocess.NonBlockingReadProcessOutput(handle) output += current_output match = TP_REGEX.search(output) + if match: + rstring += match.group(1) + plt_results.append(match.group(1)) + res = 1 + break + match = TP_REGEX_FAIL.search(output) if match: rstring += match.group(1) plt_results.append(match.group(1)) @@ -177,4 +185,4 @@ def RunPltTests(profile_configs, counter_data.append(counts) results_string.append(rstring) - return (results_string, plt_results, counter_data) + return (res, results_string, plt_results, counter_data) diff --git a/testing/performance/talos/ts.py b/testing/performance/talos/ts.py index 40387a6904a7..56cbd34b2dcb 100755 --- a/testing/performance/talos/ts.py +++ b/testing/performance/talos/ts.py @@ -136,7 +136,7 @@ def RunStartupTests(profile_configs, num_runs): ffprofile.InitializeNewProfile(config[2], profile_dir) # Run the startup tests for this profile and log the results. - times = RunStartupTest(config[2], profile_dir, 5, 30) + times = RunStartupTest(config[2], profile_dir, 5, 10) all_times.append(times) # Delete the temp profile directory. Make it writeable first,