Bug 1340434 part 2 - Request complete log and mark suppressed unexpecteds. r?jmaher draft
authorXidorn Quan <me@upsuper.org>
Fri, 17 Feb 2017 23:45:13 +1100
changeset 570054 92d57dd951c0db59fa3bb79fcdcd2dc338e81196
parent 570053 3430c1e6b7f3215dc1721518ee52c10a898d6132
child 626382 6991bfde3dc7d9226b6edfaa7e321d5d45fc3f37
push id56372
push userxquan@mozilla.com
push dateFri, 28 Apr 2017 09:35:36 +0000
reviewersjmaher
bugs1340434
milestone55.0a1
Bug 1340434 part 2 - Request complete log and mark suppressed unexpecteds. r?jmaher MozReview-Commit-ID: FFP7UfmJ1xs
testing/mochitest/tests/SimpleTest/SimpleTest.js
--- 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();
+}