Sisyphus|JavaScript Tests - Spider's userhook can be stopped by exceptions in tests, bug 428391

This commit is contained in:
bclary@bclary.com 2008-04-10 13:54:08 -07:00
Родитель 9482e7f0fb
Коммит 1f2dfdc560
1 изменённых файлов: 82 добавлений и 52 удалений

Просмотреть файл

@ -51,18 +51,25 @@ var gPageStop;
function userOnStart() function userOnStart()
{ {
try
{
dlog('userOnStart'); dlog('userOnStart');
cdump('JavaScriptTest: Begin Run'); cdump('JavaScriptTest: Begin Run');
registerDialogCloser(); registerDialogCloser();
}
catch(ex)
{
cdump('Spider: FATAL ERROR: userOnStart: ' + ex);
}
} }
function userOnBeforePage() function userOnBeforePage()
{ {
try
{
dlog('userOnBeforePage'); dlog('userOnBeforePage');
gPageStart = new Date(); gPageStart = new Date();
try
{
gCurrentTestId = /test=(.*);language/.exec(gSpider.mCurrentUrl.mUrl)[1]; gCurrentTestId = /test=(.*);language/.exec(gSpider.mCurrentUrl.mUrl)[1];
gCurrentTestValid = true; gCurrentTestValid = true;
cdump('JavaScriptTest: Begin Test ' + gCurrentTestId); cdump('JavaScriptTest: Begin Test ' + gCurrentTestId);
@ -70,7 +77,7 @@ function userOnBeforePage()
} }
catch(ex) catch(ex)
{ {
cdump('userOnBeforePage: ' + ex); cdump('Spider: WARNING ERROR: userOnBeforePage: ' + ex);
gCurrentTestValid = false; gCurrentTestValid = false;
gPageCompleted = true; gPageCompleted = true;
} }
@ -78,19 +85,35 @@ function userOnBeforePage()
function userOnAfterPage() function userOnAfterPage()
{ {
try
{
dlog('userOnAfterPage'); dlog('userOnAfterPage');
gPageStop = new Date(); gPageStop = new Date();
cdump(gSpider.mCurrentUrl.mUrl + ': PAGE STATUS: NORMAL (' + ((gPageStop - gPageStart)/1000).toFixed(0) + ' seconds)'); cdump(gSpider.mCurrentUrl.mUrl + ': PAGE STATUS: NORMAL (' + ((gPageStop - gPageStart)/1000).toFixed(0) + ' seconds)');
checkTestCompleted(); checkTestCompleted();
}
catch(ex)
{
cdump('Spider: WARNING ERROR: userOnAfterPage: ' + ex);
gCurrentTestValid = false;
gPageCompleted = true;
}
} }
function userOnStop() function userOnStop()
{ {
try
{
// close any pending dialogs // close any pending dialogs
cdump('JavaScriptTest: End Run'); cdump('JavaScriptTest: End Run');
closeDialog(); closeDialog();
unregisterDialogCloser(); unregisterDialogCloser();
}
catch(ex)
{
cdump('Spider: WARNING ERROR: userOnStop: ' + ex);
}
} }
function userOnPageTimeout() function userOnPageTimeout()
@ -111,7 +134,7 @@ function userOnPageTimeout()
} }
catch(ex) catch(ex)
{ {
cdump('userOnPageTimeout: ' + ex); cdump('Spider: WARNING ERROR: userOnPageTimeout: ' + ex);
} }
} }
cdump('JavaScriptTest: End Test ' + gCurrentTestId); cdump('JavaScriptTest: End Test ' + gCurrentTestId);
@ -119,6 +142,8 @@ function userOnPageTimeout()
function checkTestCompleted() function checkTestCompleted()
{ {
try
{
dlog('checkTestCompleted()'); dlog('checkTestCompleted()');
var win = gSpider.mDocument.defaultView; var win = gSpider.mDocument.defaultView;
@ -165,7 +190,12 @@ function checkTestCompleted()
dlog('page not completed, recheck'); dlog('page not completed, recheck');
setTimeout(checkTestCompleted, gCheckInterval); setTimeout(checkTestCompleted, gCheckInterval);
} }
}
catch(ex)
{
cdump('Spider: WARNING ERROR: checkTestCompleted: ' + ex);
gPageCompleted = true;
}
} }
gConsoleListener.onConsoleMessage = gConsoleListener.onConsoleMessage =