diff options
4 files changed, 23 insertions, 1 deletions
diff --git a/gm/rebaseline_server/results.py b/gm/rebaseline_server/results.py index 5c33e309d1..efc898a203 100755 --- a/gm/rebaseline_server/results.py +++ b/gm/rebaseline_server/results.py @@ -38,6 +38,7 @@ import imagepairset # Keys used to link an image to a particular GM test. # NOTE: Keep these in sync with static/constants.js +REBASELINE_SERVER_SCHEMA_VERSION_NUMBER = 1 KEY__EXPECTATIONS__BUGS = gm_json.JSONKEY_EXPECTEDRESULTS_BUGS KEY__EXPECTATIONS__IGNOREFAILURE = gm_json.JSONKEY_EXPECTEDRESULTS_IGNOREFAILURE KEY__EXPECTATIONS__REVIEWED = gm_json.JSONKEY_EXPECTEDRESULTS_REVIEWED @@ -52,6 +53,7 @@ KEY__HEADER__IS_EXPORTED = 'isExported' KEY__HEADER__IS_STILL_LOADING = 'resultsStillLoading' KEY__HEADER__RESULTS_ALL = 'all' KEY__HEADER__RESULTS_FAILURES = 'failures' +KEY__HEADER__SCHEMA_VERSION = 'schemaVersion' KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE = 'timeNextUpdateAvailable' KEY__HEADER__TIME_UPDATED = 'timeUpdated' KEY__HEADER__TYPE = 'type' @@ -193,6 +195,8 @@ class Results(object): response_dict = self._results[results_type] time_updated = self.get_timestamp() response_dict[KEY__HEADER] = { + KEY__HEADER__SCHEMA_VERSION: REBASELINE_SERVER_SCHEMA_VERSION_NUMBER, + # Timestamps: # 1. when this data was last updated # 2. when the caller should check back for new data (if ever) diff --git a/gm/rebaseline_server/results_test.py b/gm/rebaseline_server/results_test.py index 958222c516..7cbddefe23 100755 --- a/gm/rebaseline_server/results_test.py +++ b/gm/rebaseline_server/results_test.py @@ -35,11 +35,18 @@ class ResultsTest(base_unittest.TestCase): actuals_root=os.path.join(self._input_dir, 'gm-actuals'), expected_root=os.path.join(self._input_dir, 'gm-expectations'), generated_images_root=self._temp_dir) + results_obj.get_timestamp = mock_get_timestamp gm_json.WriteToFile( - results_obj.get_results_of_type(results.KEY__HEADER__RESULTS_ALL), + results_obj.get_packaged_results_of_type( + results.KEY__HEADER__RESULTS_ALL), os.path.join(self._output_dir_actual, 'gm.json')) +def mock_get_timestamp(): + """Mock version of Results.get_timestamp() for testing.""" + return 12345678 + + def main(): base_unittest.main(ResultsTest) diff --git a/gm/rebaseline_server/static/constants.js b/gm/rebaseline_server/static/constants.js index f795b6f4d6..8d832f0e0b 100644 --- a/gm/rebaseline_server/static/constants.js +++ b/gm/rebaseline_server/static/constants.js @@ -38,6 +38,7 @@ module.constant('constants', (function() { KEY__IMAGESETS__DESCRIPTION: 'description', // NOTE: Keep these in sync with ../results.py + REBASELINE_SERVER_SCHEMA_VERSION_NUMBER: 1, KEY__EXPECTATIONS__BUGS: 'bugs', KEY__EXPECTATIONS__IGNOREFAILURE: 'ignore-failure', KEY__EXPECTATIONS__REVIEWED: 'reviewed-by-human', @@ -52,6 +53,7 @@ module.constant('constants', (function() { KEY__HEADER__IS_STILL_LOADING: 'resultsStillLoading', KEY__HEADER__RESULTS_ALL: 'all', KEY__HEADER__RESULTS_FAILURES: 'failures', + KEY__HEADER__SCHEMA_VERSION: 'schemaVersion', KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: 'timeNextUpdateAvailable', KEY__HEADER__TIME_UPDATED: 'timeUpdated', KEY__HEADER__TYPE: 'type', diff --git a/gm/rebaseline_server/testdata/outputs/expected/results_test.ResultsTest.test_gm/gm.json b/gm/rebaseline_server/testdata/outputs/expected/results_test.ResultsTest.test_gm/gm.json index 38216557bc..562d6c1424 100644 --- a/gm/rebaseline_server/testdata/outputs/expected/results_test.ResultsTest.test_gm/gm.json +++ b/gm/rebaseline_server/testdata/outputs/expected/results_test.ResultsTest.test_gm/gm.json @@ -48,6 +48,15 @@ } } }, + "header": { + "dataHash": "2099241024256114776", + "isEditable": false, + "isExported": true, + "schemaVersion": 1, + "timeNextUpdateAvailable": null, + "timeUpdated": 12345678, + "type": "all" + }, "imagePairs": [ { "differenceData": { |