Index: net/cert/internal/test_helpers.cc |
diff --git a/net/cert/internal/test_helpers.cc b/net/cert/internal/test_helpers.cc |
index 2891dd40e02c23f31902e7bf33a602d0cb179dbc..28534bd822a3f05f3b09bf5038d319849a733e60 100644 |
--- a/net/cert/internal/test_helpers.cc |
+++ b/net/cert/internal/test_helpers.cc |
@@ -104,9 +104,11 @@ void ReadVerifyCertChainTestFromFile(const std::string& file_name, |
ParsedCertificateList* chain, |
scoped_refptr<TrustAnchor>* trust_anchor, |
der::GeneralizedTime* time, |
- bool* verify_result) { |
+ bool* verify_result, |
+ std::string* expected_errors) { |
chain->clear(); |
*trust_anchor = nullptr; |
+ expected_errors->clear(); |
std::string file_data = ReadTestFileToString( |
std::string("net/data/verify_certificate_chain_unittest/") + file_name); |
@@ -120,15 +122,18 @@ void ReadVerifyCertChainTestFromFile(const std::string& file_name, |
const char kTrustAnchorConstrained[] = "TRUST_ANCHOR_CONSTRAINED"; |
const char kTimeHeader[] = "TIME"; |
const char kResultHeader[] = "VERIFY_RESULT"; |
+ const char kErrorsHeader[] = "ERRORS"; |
pem_headers.push_back(kCertificateHeader); |
pem_headers.push_back(kTrustAnchorUnconstrained); |
pem_headers.push_back(kTrustAnchorConstrained); |
pem_headers.push_back(kTimeHeader); |
pem_headers.push_back(kResultHeader); |
+ pem_headers.push_back(kErrorsHeader); |
bool has_time = false; |
bool has_result = false; |
+ bool has_errors = false; |
PEMTokenizer pem_tokenizer(file_data, pem_headers); |
while (pem_tokenizer.GetNext()) { |
@@ -164,6 +169,10 @@ void ReadVerifyCertChainTestFromFile(const std::string& file_name, |
<< "Unrecognized result: " << block_data; |
has_result = true; |
*verify_result = block_data == "SUCCESS"; |
+ } else if (block_type == kErrorsHeader) { |
+ ASSERT_FALSE(has_errors) << "Duplicate " << kErrorsHeader; |
+ has_errors = true; |
+ *expected_errors = block_data; |
} |
} |