Closed Bug 340804 Opened 18 years ago Closed 17 years ago

js1_5/Regress/regress-314401.js result: FAILED type: browser

Categories

(Core :: JavaScript Engine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

VERIFIED FIXED

People

(Reporter: bc, Assigned: bc)

References

()

Details

(Keywords: regression)

This regressed after 20060527. Note that this error was caught by the window.onerror handler.

function Script.prototype.compile must be called directly, and not by way of a function of another name

function eval must be called directly, and not by way of a function of another name
This test does the same thing for me on the 1.8 branch as well as trunk (it throws the error). I think that we disallowed |setTimeout(eval)| and |setTimeout(Script)| for security reasons. Am I missing something here?
Yes, we did disallow them and earlier tests showed the error in the raw log files but for some reason it wasn't caught by the in-test try catch or window.onerror handlers before and it is now. My summary logs created from grep missed the earlier error.

So, the actual error message isn't the problem. It is a problem with the test framework. I just need to understand the change in behavior so I can catch and process the expected error.
Assignee: general → bclary
Ok, I stepped through this in venkman in 1.8 and 1.9 on windows. 

js-test-driver-standards.html includes js-test-driver-begin.js and test-driver-end.js. test-driver-end.js communicates to the Spider test driver when the test is completed so it can harvest the test results.

js-test-driver-begin.js document.write's script tags which load the shell.js, browser.js and the regress-314401.js test file.

In 1.8, shell.js, browser.js and regress-314401.js, test-driver-end.js execute then the window.onerror handler fires. In this case, Spider collects the results before the error handler fires so Spider does not see it.

In 1.9, the window.onerror handler fires after regress-314401.js and before test-driver-end.js is executed. That is why the Spider pages collect the error before being notified that the test is complete.

This is a change in behavior that occurred after 20060527 and thus is not part of the nsIThreadManager change in bug 326273, but I don't know which checkin changed this.
possible regression range 2006-05-28-04/2006-05-29-10.

20060528 doesn't appear (in venkman) to even execute the test-driver-end.js script, but 20060529 executes the window.onerror before executing test-driver-end.js.
Flags: in-testsuite+
/cvsroot/mozilla/js/tests/js1_5/Regress/regress-314401.js,v  <--  regress-314401.js
new revision: 1.2; previous revision: 1.1
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
verified fixed 1.9.0 2007-05-07 windows/linux/mac* with new testcase.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.