| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 """ | 3 """ |
| 4 Copyright 2013 Google Inc. | 4 Copyright 2013 Google Inc. |
| 5 | 5 |
| 6 Use of this source code is governed by a BSD-style license that can be | 6 Use of this source code is governed by a BSD-style license that can be |
| 7 found in the LICENSE file. | 7 found in the LICENSE file. |
| 8 | 8 |
| 9 Repackage expected/actual GM results as needed by our HTML rebaseline viewer. | 9 Repackage expected/actual GM results as needed by our HTML rebaseline viewer. |
| 10 """ | 10 """ |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 TRUNK_DIRECTORY = os.path.dirname(GM_DIRECTORY) | 31 TRUNK_DIRECTORY = os.path.dirname(GM_DIRECTORY) |
| 32 if GM_DIRECTORY not in sys.path: | 32 if GM_DIRECTORY not in sys.path: |
| 33 sys.path.append(GM_DIRECTORY) | 33 sys.path.append(GM_DIRECTORY) |
| 34 import gm_json | 34 import gm_json |
| 35 import imagediffdb | 35 import imagediffdb |
| 36 import imagepair | 36 import imagepair |
| 37 import imagepairset | 37 import imagepairset |
| 38 | 38 |
| 39 # Keys used to link an image to a particular GM test. | 39 # Keys used to link an image to a particular GM test. |
| 40 # NOTE: Keep these in sync with static/constants.js | 40 # NOTE: Keep these in sync with static/constants.js |
| 41 REBASELINE_SERVER_SCHEMA_VERSION_NUMBER = 1 |
| 41 KEY__EXPECTATIONS__BUGS = gm_json.JSONKEY_EXPECTEDRESULTS_BUGS | 42 KEY__EXPECTATIONS__BUGS = gm_json.JSONKEY_EXPECTEDRESULTS_BUGS |
| 42 KEY__EXPECTATIONS__IGNOREFAILURE = gm_json.JSONKEY_EXPECTEDRESULTS_IGNOREFAILURE | 43 KEY__EXPECTATIONS__IGNOREFAILURE = gm_json.JSONKEY_EXPECTEDRESULTS_IGNOREFAILURE |
| 43 KEY__EXPECTATIONS__REVIEWED = gm_json.JSONKEY_EXPECTEDRESULTS_REVIEWED | 44 KEY__EXPECTATIONS__REVIEWED = gm_json.JSONKEY_EXPECTEDRESULTS_REVIEWED |
| 44 KEY__EXTRACOLUMN__BUILDER = 'builder' | 45 KEY__EXTRACOLUMN__BUILDER = 'builder' |
| 45 KEY__EXTRACOLUMN__CONFIG = 'config' | 46 KEY__EXTRACOLUMN__CONFIG = 'config' |
| 46 KEY__EXTRACOLUMN__RESULT_TYPE = 'resultType' | 47 KEY__EXTRACOLUMN__RESULT_TYPE = 'resultType' |
| 47 KEY__EXTRACOLUMN__TEST = 'test' | 48 KEY__EXTRACOLUMN__TEST = 'test' |
| 48 KEY__HEADER = 'header' | 49 KEY__HEADER = 'header' |
| 49 KEY__HEADER__DATAHASH = 'dataHash' | 50 KEY__HEADER__DATAHASH = 'dataHash' |
| 50 KEY__HEADER__IS_EDITABLE = 'isEditable' | 51 KEY__HEADER__IS_EDITABLE = 'isEditable' |
| 51 KEY__HEADER__IS_EXPORTED = 'isExported' | 52 KEY__HEADER__IS_EXPORTED = 'isExported' |
| 52 KEY__HEADER__IS_STILL_LOADING = 'resultsStillLoading' | 53 KEY__HEADER__IS_STILL_LOADING = 'resultsStillLoading' |
| 53 KEY__HEADER__RESULTS_ALL = 'all' | 54 KEY__HEADER__RESULTS_ALL = 'all' |
| 54 KEY__HEADER__RESULTS_FAILURES = 'failures' | 55 KEY__HEADER__RESULTS_FAILURES = 'failures' |
| 56 KEY__HEADER__SCHEMA_VERSION = 'schemaVersion' |
| 55 KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE = 'timeNextUpdateAvailable' | 57 KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE = 'timeNextUpdateAvailable' |
| 56 KEY__HEADER__TIME_UPDATED = 'timeUpdated' | 58 KEY__HEADER__TIME_UPDATED = 'timeUpdated' |
| 57 KEY__HEADER__TYPE = 'type' | 59 KEY__HEADER__TYPE = 'type' |
| 58 KEY__NEW_IMAGE_URL = 'newImageUrl' | 60 KEY__NEW_IMAGE_URL = 'newImageUrl' |
| 59 KEY__RESULT_TYPE__FAILED = gm_json.JSONKEY_ACTUALRESULTS_FAILED | 61 KEY__RESULT_TYPE__FAILED = gm_json.JSONKEY_ACTUALRESULTS_FAILED |
| 60 KEY__RESULT_TYPE__FAILUREIGNORED = gm_json.JSONKEY_ACTUALRESULTS_FAILUREIGNORED | 62 KEY__RESULT_TYPE__FAILUREIGNORED = gm_json.JSONKEY_ACTUALRESULTS_FAILUREIGNORED |
| 61 KEY__RESULT_TYPE__NOCOMPARISON = gm_json.JSONKEY_ACTUALRESULTS_NOCOMPARISON | 63 KEY__RESULT_TYPE__NOCOMPARISON = gm_json.JSONKEY_ACTUALRESULTS_NOCOMPARISON |
| 62 KEY__RESULT_TYPE__SUCCEEDED = gm_json.JSONKEY_ACTUALRESULTS_SUCCEEDED | 64 KEY__RESULT_TYPE__SUCCEEDED = gm_json.JSONKEY_ACTUALRESULTS_SUCCEEDED |
| 63 | 65 |
| 64 EXPECTATION_FIELDS_PASSED_THRU_VERBATIM = [ | 66 EXPECTATION_FIELDS_PASSED_THRU_VERBATIM = [ |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 must be one of the RESULTS_* constants | 188 must be one of the RESULTS_* constants |
| 187 reload_seconds: if specified, note that new results may be available once | 189 reload_seconds: if specified, note that new results may be available once |
| 188 these results are reload_seconds old | 190 these results are reload_seconds old |
| 189 is_editable: whether clients are allowed to submit new baselines | 191 is_editable: whether clients are allowed to submit new baselines |
| 190 is_exported: whether these results are being made available to other | 192 is_exported: whether these results are being made available to other |
| 191 network hosts | 193 network hosts |
| 192 """ | 194 """ |
| 193 response_dict = self._results[results_type] | 195 response_dict = self._results[results_type] |
| 194 time_updated = self.get_timestamp() | 196 time_updated = self.get_timestamp() |
| 195 response_dict[KEY__HEADER] = { | 197 response_dict[KEY__HEADER] = { |
| 198 KEY__HEADER__SCHEMA_VERSION: REBASELINE_SERVER_SCHEMA_VERSION_NUMBER, |
| 199 |
| 196 # Timestamps: | 200 # Timestamps: |
| 197 # 1. when this data was last updated | 201 # 1. when this data was last updated |
| 198 # 2. when the caller should check back for new data (if ever) | 202 # 2. when the caller should check back for new data (if ever) |
| 199 KEY__HEADER__TIME_UPDATED: time_updated, | 203 KEY__HEADER__TIME_UPDATED: time_updated, |
| 200 KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: ( | 204 KEY__HEADER__TIME_NEXT_UPDATE_AVAILABLE: ( |
| 201 (time_updated+reload_seconds) if reload_seconds else None), | 205 (time_updated+reload_seconds) if reload_seconds else None), |
| 202 | 206 |
| 203 # The type we passed to get_results_of_type() | 207 # The type we passed to get_results_of_type() |
| 204 KEY__HEADER__TYPE: results_type, | 208 KEY__HEADER__TYPE: results_type, |
| 205 | 209 |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 492 results = Results(actuals_root=args.actuals, | 496 results = Results(actuals_root=args.actuals, |
| 493 expected_root=args.expectations, | 497 expected_root=args.expectations, |
| 494 generated_images_root=args.workdir) | 498 generated_images_root=args.workdir) |
| 495 gm_json.WriteToFile( | 499 gm_json.WriteToFile( |
| 496 results.get_packaged_results_of_type(results_type=args.results), | 500 results.get_packaged_results_of_type(results_type=args.results), |
| 497 args.outfile) | 501 args.outfile) |
| 498 | 502 |
| 499 | 503 |
| 500 if __name__ == '__main__': | 504 if __name__ == '__main__': |
| 501 main() | 505 main() |
| OLD | NEW |