Chromium Code Reviews| Index: gm/rebaseline_server/compare_rendered_pictures_test.py |
| diff --git a/gm/rebaseline_server/compare_rendered_pictures_test.py b/gm/rebaseline_server/compare_rendered_pictures_test.py |
| index c50c1a00affce09aedb16c32bbc7f70f4c53a36f..22793a5f6bbb4d19906b930e69cae68514f3472a 100755 |
| --- a/gm/rebaseline_server/compare_rendered_pictures_test.py |
| +++ b/gm/rebaseline_server/compare_rendered_pictures_test.py |
| @@ -32,6 +32,7 @@ import compare_rendered_pictures |
| import find_run_binary |
| import gm_json |
| import imagediffdb |
| +import imagepairset |
| import results |
| @@ -78,6 +79,57 @@ class CompareRenderedPicturesTest(base_unittest.TestCase): |
| results.KEY__HEADER__RESULTS_ALL), |
| os.path.join(self.output_dir_actual, 'compare_rendered_pictures.json')) |
| + def test_endToEnd_withImageBaseGSUrl(self): |
| + """Generate two sets of SKPs, run render_pictures over both, and compare |
| + the results.""" |
| + setA_subdir = 'before_patch' |
| + setB_subdir = 'after_patch' |
| + imageA_gs_base = 'superman/kent-camera/pictures' |
| + imageB_gs_base = 'batman/batarang/pictures' |
| + self._generate_skps_and_run_render_pictures( |
| + subdir=setA_subdir, skpdict={ |
| + 'changed.skp': 200, |
| + 'unchanged.skp': 100, |
| + 'only-in-before.skp': 128, |
| + }, |
| + image_base_gs_url='gs://%s' % imageA_gs_base) |
| + self._generate_skps_and_run_render_pictures( |
| + subdir=setB_subdir, skpdict={ |
| + 'changed.skp': 201, |
| + 'unchanged.skp': 100, |
| + 'only-in-after.skp': 128, |
| + }, |
| + image_base_gs_url='gs://%s' % imageB_gs_base) |
| + |
| + results_obj = compare_rendered_pictures.RenderedPicturesComparisons( |
| + setA_dir=os.path.join(self.temp_dir, setA_subdir), |
| + setB_dir=os.path.join(self.temp_dir, setB_subdir), |
| + setA_section=gm_json.JSONKEY_ACTUALRESULTS, |
| + setB_section=gm_json.JSONKEY_ACTUALRESULTS, |
| + image_diff_db=imagediffdb.ImageDiffDB(self.temp_dir), |
| + image_base_gs_url='gs://fakebucket/fake/path', |
| + diff_base_url='/static/generated-images') |
| + results_obj.get_timestamp = mock_get_timestamp |
| + |
| + output_dict = results_obj.get_packaged_results_of_type( |
| + results.KEY__HEADER__RESULTS_ALL) |
| + # Assert that the baseURLs are as expected. |
| + self.assertEquals( |
| + output_dict[imagepairset.KEY__ROOT__IMAGESETS] |
| + [imagepairset.KEY__IMAGESETS__SET__IMAGE_A] |
| + [imagepairset.KEY__IMAGESETS__FIELD__BASE_URL], |
| + 'http://storage.cloud.google.com/%s' % imageA_gs_base) |
| + self.assertEquals( |
| + output_dict[imagepairset.KEY__ROOT__IMAGESETS] |
| + [imagepairset.KEY__IMAGESETS__SET__IMAGE_B] |
| + [imagepairset.KEY__IMAGESETS__FIELD__BASE_URL], |
| + 'http://storage.cloud.google.com/%s' % imageB_gs_base) |
| + |
| + gm_json.WriteToFile( |
| + output_dict, |
| + os.path.join(self.output_dir_actual, |
| + 'compare_rendered_pictures.json')) |
|
epoger
2014/08/21 18:25:06
Where is the expectation for this test? If you do
rmistry
2014/08/21 19:07:01
I wanted to add a new test so that the case where
|
| + |
| def test_repo_url(self): |
| """Use repo: URL to specify summary files.""" |
| base_repo_url = 'repo:gm/rebaseline_server/testdata/inputs/skp-summaries' |
| @@ -104,7 +156,8 @@ class CompareRenderedPicturesTest(base_unittest.TestCase): |
| results.KEY__HEADER__RESULTS_ALL), |
| os.path.join(self.output_dir_actual, 'compare_rendered_pictures.json')) |
| - def _generate_skps_and_run_render_pictures(self, subdir, skpdict): |
| + def _generate_skps_and_run_render_pictures(self, subdir, skpdict, |
| + image_base_gs_url=None): |
| """Generate SKPs and run render_pictures on them. |
| Args: |
| @@ -121,13 +174,16 @@ class CompareRenderedPicturesTest(base_unittest.TestCase): |
| # and fix its result! (imageURLs within whole-image entries are wrong when |
| # I tried adding that) |
| binary = find_run_binary.find_path_to_program('render_pictures') |
| - return subprocess.check_output([ |
| + render_pictures_cmd = [ |
| binary, |
| '--config', '8888', |
| '-r', out_path, |
| '--writeChecksumBasedFilenames', |
| '--writeJsonSummaryPath', os.path.join(out_path, 'summary.json'), |
| - '--writePath', out_path]) |
| + '--writePath', out_path] |
| + if image_base_gs_url: |
| + render_pictures_cmd.extend(['--imageBaseGSUrl', image_base_gs_url]) |
| + return subprocess.check_output(render_pictures_cmd) |
| def _run_skpmaker(self, output_path, red=0, green=0, blue=0, |
| width=640, height=400): |