Bug 1340434 part 2 - Request complete log and mark suppressed unexpecteds. r?jmaher
MozReview-Commit-ID: FFP7UfmJ1xs
--- a/testing/mochitest/tests/SimpleTest/SimpleTest.js
+++ b/testing/mochitest/tests/SimpleTest/SimpleTest.js
@@ -275,16 +275,18 @@ SimpleTest.ok = function (condition, nam
SimpleTest.num_failed++;
test.result = !test.result;
}
var successInfo = {status:"FAIL", expected:"FAIL", message:"TEST-KNOWN-FAIL"};
var failureInfo = {status:"PASS", expected:"FAIL", message:"TEST-UNEXPECTED-PASS"};
} else if (!test.result && usesFailurePatterns()) {
if (recordIfMatchesFailurePattern(name, diag)) {
test.result = true;
+ // Add a mark for unexpected failures suppressed by failure pattern.
+ name = '[suppressed] ' + name;
}
var successInfo = {status:"FAIL", expected:"FAIL", message:"TEST-KNOWN-FAIL"};
var failureInfo = {status:"FAIL", expected:"PASS", message:"TEST-UNEXPECTED-FAIL"};
} else {
var successInfo = {status:"PASS", expected:"PASS", message:"TEST-PASS"};
var failureInfo = {status:"FAIL", expected:"PASS", message:"TEST-UNEXPECTED-FAIL"};
}
@@ -339,16 +341,18 @@ SimpleTest.todo = function(condition, na
var test = {'result': !!condition, 'name': name, 'diag': diag, todo: true};
if (test.result && usesFailurePatterns() &&
recordIfMatchesFailurePattern(name, diag)) {
// Flipping the result to false so we don't get unexpected result. There
// is no perfect way here. A known failure can trigger unexpected pass,
// in which case, tagging it as KNOWN-FAIL probably makes more sense than
// marking it PASS.
test.result = false;
+ // Add a mark for unexpected failures suppressed by failure pattern.
+ name = '[suppressed] ' + name;
}
var successInfo = {status:"PASS", expected:"FAIL", message:"TEST-UNEXPECTED-PASS"};
var failureInfo = {status:"FAIL", expected:"FAIL", message:"TEST-KNOWN-FAIL"};
SimpleTest._logResult(test, successInfo, failureInfo);
SimpleTest._tests.push(test);
};
/*
@@ -1697,8 +1701,14 @@ function getAndroidSdk() {
gAndroidSdk = SpecialPowers.Cc['@mozilla.org/system-info;1']
.getService(SpecialPowers.Ci.nsIPropertyBag2)
.getProperty(versionString);
}
document.documentElement.removeChild(iframe);
}
return gAndroidSdk;
}
+
+// Request complete log when using failure patterns so that failure info
+// from infra can be useful.
+if (usesFailurePatterns()) {
+ SimpleTest.requestCompleteLog();
+}