зеркало из https://github.com/mozilla/pjs.git
stability patch: lower timeout bar for ts, do not start if tp has failed, bail out if a page takes longer than 5s to load b=381941 r=rhelmer p=anodelman
This commit is contained in:
Родитель
101603ec5c
Коммит
72e128dd3e
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче