| Index: gm/gm_json.py
|
| ===================================================================
|
| --- gm/gm_json.py (revision 9909)
|
| +++ gm/gm_json.py (working copy)
|
| @@ -15,18 +15,38 @@
|
| import json
|
|
|
|
|
| +# Key strings used in GM results JSON files (both expected-results.json and
|
| +# actual-results.json).
|
| +#
|
| # These constants must be kept in sync with the kJsonKey_ constants in
|
| # gm_expectations.cpp !
|
| +
|
| JSONKEY_ACTUALRESULTS = 'actual-results'
|
| +# Tests whose results failed to match expectations.
|
| JSONKEY_ACTUALRESULTS_FAILED = 'failed'
|
| +# Tests whose results failed to match expectations, but IGNOREFAILURE causes
|
| +# us to take them less seriously.
|
| JSONKEY_ACTUALRESULTS_FAILUREIGNORED = 'failure-ignored'
|
| +# Tests for which we do not have any expectations. They may be new tests that
|
| +# we haven't had a chance to check in expectations for yet, or we may have
|
| +# consciously decided to leave them without expectations because we are unhappy
|
| +# with the results (although we should try to move away from that, and instead
|
| +# check in expectations with the IGNOREFAILURE flag set).
|
| JSONKEY_ACTUALRESULTS_NOCOMPARISON = 'no-comparison'
|
| +# Tests whose results matched their expectations.
|
| JSONKEY_ACTUALRESULTS_SUCCEEDED = 'succeeded'
|
|
|
| JSONKEY_EXPECTEDRESULTS = 'expected-results'
|
| +# One or more [HashType/DigestValue] pairs representing valid results for this
|
| +# test. Typically, there will just be one pair, but we allow for multiple
|
| +# expectations, and the test will pass if any one of them is matched.
|
| JSONKEY_EXPECTEDRESULTS_ALLOWEDDIGESTS = 'allowed-digests'
|
| +# If IGNOREFAILURE is set to True, a failure of this test will be reported
|
| +# within the FAILUREIGNORED section (thus NOT causing the buildbots to go red)
|
| +# rather than the FAILED section (which WOULD cause the buildbots to go red).
|
| JSONKEY_EXPECTEDRESULTS_IGNOREFAILURE = 'ignore-failure'
|
|
|
| +# Allowed hash types for test expectations.
|
| JSONKEY_HASHTYPE_BITMAP_64BITMD5 = 'bitmap-64bitMD5'
|
|
|
| def LoadFromString(file_contents):
|
| @@ -45,3 +65,8 @@
|
| above."""
|
| file_contents = open(file_path, 'r').read()
|
| return LoadFromString(file_contents)
|
| +
|
| +def WriteToFile(json_dict, file_path):
|
| + """Writes the JSON summary in json_dict out to file_path."""
|
| + with open(file_path, 'w') as outfile:
|
| + json.dump(json_dict, outfile, sort_keys=True, indent=2)
|
|
|