mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge mozilla-central
This commit is contained in:
commit
e74c3204ef
@ -64,12 +64,6 @@ function start() {
|
|||||||
.getService(Components.interfaces.nsIPropertyBag2)
|
.getService(Components.interfaces.nsIPropertyBag2)
|
||||||
.getProperty("version");
|
.getProperty("version");
|
||||||
kIsWindowsVistaOrHigher = (parseFloat(version) >= 6.0);
|
kIsWindowsVistaOrHigher = (parseFloat(version) >= 6.0);
|
||||||
// Workaround for Windows 2000 (driver?) which may crash itself.
|
|
||||||
if (parseFloat(version) <= 5.0) {
|
|
||||||
todo(false, "Test disabled on Windows 2000 and older. (To prevent possible system crash.)");
|
|
||||||
SimpleTest.finish();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// we currently disable this test on version of Mac OSX older than 10.6,
|
// we currently disable this test on version of Mac OSX older than 10.6,
|
||||||
@ -78,17 +72,15 @@ function start() {
|
|||||||
var kDarwinVersion = 0;
|
var kDarwinVersion = 0;
|
||||||
if (kIsMac) {
|
if (kIsMac) {
|
||||||
// code borrowed from browser/modules/test/browser_taskbar_preview.js
|
// code borrowed from browser/modules/test/browser_taskbar_preview.js
|
||||||
var is106orHigher = false;
|
|
||||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||||
kDarwinVersion = parseFloat(Components.classes["@mozilla.org/system-info;1"]
|
kDarwinVersion = parseFloat(Components.classes["@mozilla.org/system-info;1"]
|
||||||
.getService(Components.interfaces.nsIPropertyBag2)
|
.getService(Components.interfaces.nsIPropertyBag2)
|
||||||
.getProperty("version"));
|
.getProperty("version"));
|
||||||
// the next line is correct: Mac OS 10.6 corresponds to Darwin version 10 !
|
// the next line is correct: Mac OSX 10.6 corresponds to Darwin version 10 !
|
||||||
// Mac OS 10.5 would be Darwin version 9. the |version| string we've got here
|
// Mac OSX 10.5 would be Darwin version 9. the |version| string we've got here
|
||||||
// is the Darwin version.
|
// is the Darwin version.
|
||||||
is106orHigher = (kDarwinVersion >= 10.0);
|
if (kDarwinVersion < 10.0) {
|
||||||
if (!is106orHigher) {
|
todo(false, "Test disabled on Mac OSX versions older than 10.6.");
|
||||||
dump("WebGL mochitest disabled on Mac OSX versions older than 10.6\n");
|
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -130,14 +122,32 @@ function start() {
|
|||||||
this.elem = li;
|
this.elem = li;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether this test page results are not to be ignored.
|
||||||
|
*/
|
||||||
|
Page.prototype.shouldBeAccountedFor = function() {
|
||||||
|
return testsToIgnore.indexOf(this.url) == -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether all this test page results are expected not to fail,
|
||||||
|
* if not ignored.
|
||||||
|
*/
|
||||||
Page.prototype.isExpectedToFullyPass = function() {
|
Page.prototype.isExpectedToFullyPass = function() {
|
||||||
return testsExpectedToFail.indexOf(this.url) == -1 && testsToIgnore.indexOf(this.url) == -1;
|
return this.shouldBeAccountedFor() &&
|
||||||
|
testsExpectedToFail.indexOf(this.url) == -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Page.prototype.errormsg = function(msg) {
|
/**
|
||||||
return msg + ' (URL: ' + this.url + ')';
|
* Returns log message with added test page url.
|
||||||
|
*/
|
||||||
|
Page.prototype.logMsg = function(msg) {
|
||||||
|
return '[' + this.url + '] ' + msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reports an individual test result of test page.
|
||||||
|
*/
|
||||||
Page.prototype.addResult = function(msg, success) {
|
Page.prototype.addResult = function(msg, success) {
|
||||||
++this.totalTests;
|
++this.totalTests;
|
||||||
if (success === undefined) {
|
if (success === undefined) {
|
||||||
@ -146,19 +156,28 @@ function start() {
|
|||||||
var css = "timeout";
|
var css = "timeout";
|
||||||
// only few timeouts are actually caught here --- most are caught in finishPage().
|
// only few timeouts are actually caught here --- most are caught in finishPage().
|
||||||
if (this.isExpectedToFullyPass()) {
|
if (this.isExpectedToFullyPass()) {
|
||||||
ok(false, this.errormsg('Test timed out, "' + msg + '"'));
|
ok(false, this.logMsg('Test timed out'), msg);
|
||||||
|
} else {
|
||||||
|
todo(false, this.logMsg('Test timed out'), msg);
|
||||||
}
|
}
|
||||||
} else if (success) {
|
} else if (success) {
|
||||||
++this.totalSuccessful;
|
++this.totalSuccessful;
|
||||||
var result = "success";
|
var result = "success";
|
||||||
var css = "success";
|
var css = "success";
|
||||||
// don't report success.
|
if (this.shouldBeAccountedFor()) {
|
||||||
|
ok(true, this.logMsg('Test passed'), msg);
|
||||||
|
} else {
|
||||||
|
todo(false, this.logMsg('Test passed, but is ignored'), msg);
|
||||||
|
}
|
||||||
|
// Don't report individual success to UI, to keep it light.
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
var result = "failed";
|
var result = "failed";
|
||||||
var css = "fail";
|
var css = "fail";
|
||||||
if (this.isExpectedToFullyPass()) {
|
if (this.isExpectedToFullyPass()) {
|
||||||
ok(false, this.errormsg('Test failed, "' + msg + '"'));
|
ok(false, this.logMsg('Test failed'), msg);
|
||||||
|
} else {
|
||||||
|
todo(false, this.logMsg('Test failed'), msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,6 +200,9 @@ function start() {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reports test page result summary.
|
||||||
|
*/
|
||||||
Page.prototype.finishPage = function(success) {
|
Page.prototype.finishPage = function(success) {
|
||||||
var msg = ' (' + this.totalSuccessful + ' of ' +
|
var msg = ' (' + this.totalSuccessful + ' of ' +
|
||||||
this.totalTests + ' passed)';
|
this.totalTests + ' passed)';
|
||||||
@ -189,23 +211,31 @@ function start() {
|
|||||||
msg = '(*timeout*)';
|
msg = '(*timeout*)';
|
||||||
++this.totalTests;
|
++this.totalTests;
|
||||||
++this.totalTimeouts;
|
++this.totalTimeouts;
|
||||||
|
// Most timeouts are only caught here --- though a few are (already) caught in addResult().
|
||||||
if (this.isExpectedToFullyPass()) {
|
if (this.isExpectedToFullyPass()) {
|
||||||
ok(false, this.errormsg('Unexpected timeout in this test page'));
|
ok(false, this.logMsg('Timeout in this test page'));
|
||||||
window.dump('WebGL test error: test page timeout: ' + this.url + '\n');
|
} else {
|
||||||
|
todo(false, this.logMsg('Timeout in this test page'));
|
||||||
}
|
}
|
||||||
} else if (this.totalSuccessful != this.totalTests) {
|
} else if (this.totalSuccessful != this.totalTests) {
|
||||||
var css = 'testpagefail';
|
var css = 'testpagefail';
|
||||||
|
var totalFailed = this.totalTests - this.totalTimeouts - this.totalSuccessful;
|
||||||
if (this.isExpectedToFullyPass()) {
|
if (this.isExpectedToFullyPass()) {
|
||||||
window.dump('WebGL test error: test page failure: ' + this.url + '\n');
|
ok(false, this.logMsg("(WebGL test error) " + totalFailed + ' failure(s) and ' + this.totalTimeouts + ' timeout(s)'));
|
||||||
|
} else {
|
||||||
|
todo(false, this.logMsg("(WebGL test error) " + totalFailed + ' failure(s) and ' + this.totalTimeouts + ' timeout(s)'));
|
||||||
}
|
}
|
||||||
// failures have already been reported for the sub-tests
|
|
||||||
} else {
|
} else {
|
||||||
var css = 'testpagesuccess';
|
var css = 'testpagesuccess';
|
||||||
if (this.isExpectedToFullyPass()) {
|
if (this.isExpectedToFullyPass()) {
|
||||||
ok(true, this.errormsg('Successful test page'));
|
ok(true, this.logMsg('All ' + this.totalSuccessful + ' test(s) passed'));
|
||||||
|
} else {
|
||||||
|
if (this.shouldBeAccountedFor()) {
|
||||||
|
todo(true, this.logMsg('Test page expected to fail, but all ' + this.totalSuccessful + ' tests passed'));
|
||||||
|
} else {
|
||||||
|
todo(false, this.logMsg('All ' + this.totalSuccessful + ' test(s) passed, but test page is ignored'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
window.dump('WebGL test page successful: ' + this.url + '\n');
|
|
||||||
testsSuccessful.push(this.url);
|
|
||||||
}
|
}
|
||||||
this.elem.setAttribute('class', css);
|
this.elem.setAttribute('class', css);
|
||||||
this.totalsElem.textContent = msg;
|
this.totalsElem.textContent = msg;
|
||||||
@ -246,7 +276,7 @@ function start() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Reporter.prototype.startPage = function(url) {
|
Reporter.prototype.startPage = function(url) {
|
||||||
dump('WebGL mochitest: starting page ' + url + '\n');
|
info("[" + url + "] (WebGL mochitest) Starting test page");
|
||||||
|
|
||||||
// Calling garbageCollect before each test page fixes intermittent failures with
|
// Calling garbageCollect before each test page fixes intermittent failures with
|
||||||
// out-of-memory errors, often failing to create a WebGL context.
|
// out-of-memory errors, often failing to create a WebGL context.
|
||||||
@ -266,14 +296,11 @@ function start() {
|
|||||||
return page.startPage();
|
return page.startPage();
|
||||||
};
|
};
|
||||||
|
|
||||||
Reporter.prototype.totalFailed = function() {
|
|
||||||
return this.totalTests - this.totalSuccessful;
|
|
||||||
};
|
|
||||||
|
|
||||||
Reporter.prototype.displayStats = function() {
|
Reporter.prototype.displayStats = function() {
|
||||||
|
var totalFailed = this.totalTests - this.totalTimeouts - this.totalSuccessful;
|
||||||
this.fullResultsNode.textContent =
|
this.fullResultsNode.textContent =
|
||||||
this.totalSuccessful + ' passed, ' +
|
this.totalSuccessful + ' passed, ' +
|
||||||
this.totalFailed() + ' failed, ' +
|
totalFailed + ' failed, ' +
|
||||||
this.totalTimeouts + ' timed out';
|
this.totalTimeouts + ' timed out';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -295,9 +322,6 @@ function start() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Reporter.prototype.finishedTestSuite = function() {
|
Reporter.prototype.finishedTestSuite = function() {
|
||||||
for (var i = 0; i < testsExpectedToFail.length; ++i)
|
|
||||||
if (testsSuccessful.indexOf(testsExpectedToFail[i]) != -1)
|
|
||||||
todo(true, 'Test expected to fail, but passed: ' + testsExpectedToFail[i]);
|
|
||||||
statusTextNode.textContent = 'Finished';
|
statusTextNode.textContent = 'Finished';
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
}
|
}
|
||||||
@ -353,10 +377,12 @@ function start() {
|
|||||||
// try to create a dummy WebGL context, just to catch context creation failures once here,
|
// try to create a dummy WebGL context, just to catch context creation failures once here,
|
||||||
// rather than having them result in 100's of failures (one in each test page)
|
// rather than having them result in 100's of failures (one in each test page)
|
||||||
var canvas = document.getElementById("webglcheck-default");
|
var canvas = document.getElementById("webglcheck-default");
|
||||||
var ctx = null;
|
var ctx;
|
||||||
try {
|
try {
|
||||||
ctx = canvas.getContext("experimental-webgl");
|
ctx = canvas.getContext("experimental-webgl");
|
||||||
} catch(e) {}
|
} catch(e) {
|
||||||
|
ok(false, "canvas.getContext() failed", e);
|
||||||
|
}
|
||||||
|
|
||||||
if (ctx) {
|
if (ctx) {
|
||||||
statusTextNode.textContent = 'Loading test lists...';
|
statusTextNode.textContent = 'Loading test lists...';
|
||||||
@ -378,7 +404,6 @@ function start() {
|
|||||||
todo(false, errmsg + " (This is expected on SeaMonkey (tinderboxes).)");
|
todo(false, errmsg + " (This is expected on SeaMonkey (tinderboxes).)");
|
||||||
else
|
else
|
||||||
ok(false, errmsg);
|
ok(false, errmsg);
|
||||||
dump("WebGL mochitest failed: " + errmsg + "\n");
|
|
||||||
reporter.finishedTestSuite();
|
reporter.finishedTestSuite();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -435,8 +460,6 @@ function start() {
|
|||||||
|
|
||||||
var testsToIgnore = [];
|
var testsToIgnore = [];
|
||||||
|
|
||||||
var testsSuccessful = [];
|
|
||||||
|
|
||||||
runTestSuite();
|
runTestSuite();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user