Add the is_unexpected key to the test output.

If the key is missing, it seems the failure is assumed to be expected.

BUG=473924

Change-Id: I62edd9110fa74bee5e6425fd6786badf5398728c
Reviewed-on: https://boringssl-review.googlesource.com/4231
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/test/runner/test_output.go b/ssl/test/runner/test_output.go
index 57fbbe6..f06da6f 100644
--- a/ssl/test/runner/test_output.go
+++ b/ssl/test/runner/test_output.go
@@ -32,8 +32,9 @@
 }
 
 type testResult struct {
-	Actual   string `json:"actual"`
-	Expected string `json:"expected"`
+	Actual       string `json:"actual"`
+	Expected     string `json:"expected"`
+	IsUnexpected bool   `json:"is_unexpected"`
 }
 
 func newTestOutput() *testOutput {
@@ -50,7 +51,11 @@
 	if _, found := t.Tests[name]; found {
 		panic(name)
 	}
-	t.Tests[name] = testResult{Actual: result, Expected: "PASS"}
+	t.Tests[name] = testResult{
+		Actual:       result,
+		Expected:     "PASS",
+		IsUnexpected: result != "PASS",
+	}
 	t.NumFailuresByType[result]++
 }
 
diff --git a/util/all_tests.go b/util/all_tests.go
index 5927257..1a0651a 100644
--- a/util/all_tests.go
+++ b/util/all_tests.go
@@ -101,8 +101,9 @@
 }
 
 type testResult struct {
-	Actual   string `json:"actual"`
-	Expected string `json:"expected"`
+	Actual       string `json:"actual"`
+	Expected     string `json:"expected"`
+	IsUnexpected bool   `json:"is_unexpected"`
 }
 
 func newTestOutput() *testOutput {
@@ -119,7 +120,11 @@
 	if _, found := t.Tests[name]; found {
 		panic(name)
 	}
-	t.Tests[name] = testResult{Actual: result, Expected: "PASS"}
+	t.Tests[name] = testResult{
+		Actual:       result,
+		Expected:     "PASS",
+		IsUnexpected: result != "PASS",
+	}
 	t.NumFailuresByType[result]++
 }