1#!/usr/bin/python 2 3""" 4Copyright 2014 Google Inc. 5 6Use of this source code is governed by a BSD-style license that can be 7found in the LICENSE file. 8 9Test compare_configs.py 10 11TODO(epoger): Create a command to update the expected results (in 12self._output_dir_expected) when appropriate. For now, you should: 131. examine the results in self.output_dir_actual and make sure they are ok 142. rm -rf self._output_dir_expected 153. mv self.output_dir_actual self._output_dir_expected 16Although, if you're using an SVN checkout, this will blow away .svn directories 17within self._output_dir_expected, which wouldn't be good... 18 19""" 20 21# System-level imports 22import os 23 24# Must fix up PYTHONPATH before importing from within Skia 25import rs_fixpypath # pylint: disable=W0611 26 27# Imports from within Skia 28import base_unittest 29import compare_configs 30import gm_json 31import results 32 33 34class CompareConfigsTest(base_unittest.TestCase): 35 36 def test_gm(self): 37 """Process results of a GM run with the ConfigComparisons object.""" 38 results_obj = compare_configs.ConfigComparisons( 39 configs=('8888', 'gpu'), 40 actuals_root=os.path.join(self.input_dir, 'gm-actuals'), 41 generated_images_root=self.temp_dir, 42 diff_base_url='/static/generated-images') 43 results_obj.get_timestamp = mock_get_timestamp 44 gm_json.WriteToFile( 45 results_obj.get_packaged_results_of_type( 46 results.KEY__HEADER__RESULTS_ALL), 47 os.path.join(self.output_dir_actual, 'gm.json')) 48 49 50def mock_get_timestamp(): 51 """Mock version of BaseComparisons.get_timestamp() for testing.""" 52 return 12345678 53 54 55def main(): 56 base_unittest.main(CompareConfigsTest) 57 58 59if __name__ == '__main__': 60 main() 61