Index: tools/tests/render_pictures_test.py |
diff --git a/tools/tests/render_pictures_test.py b/tools/tests/render_pictures_test.py |
index 33c1e6a0469c8d70bf4fffe748c2a0ebb70da19f..608df9fdbc044878172ba548126575477f84be0c 100755 |
--- a/tools/tests/render_pictures_test.py |
+++ b/tools/tests/render_pictures_test.py |
@@ -18,11 +18,15 @@ import tempfile |
# Imports from within Skia |
import base_unittest |
+# Maximum length of text diffs to show when tests fail |
+MAX_DIFF_LENGTH = 30000 |
+ |
class RenderPicturesTest(base_unittest.TestCase): |
def setUp(self): |
self._temp_dir = tempfile.mkdtemp() |
+ self.maxDiff = MAX_DIFF_LENGTH |
def tearDown(self): |
shutil.rmtree(self._temp_dir) |
@@ -40,49 +44,93 @@ class RenderPicturesTest(base_unittest.TestCase): |
expected_summary_dict = { |
"actual-results" : { |
"no-comparison" : { |
- # Manually verified: 640x400 red image with black border |
+ # Manually verified: 640x400 red rectangle with black border |
"input.png" : [ "bitmap-64bitMD5", 11092453015575919668 ] |
} |
} |
} |
self._assert_json_contents(output_json_path, expected_summary_dict) |
- def test_tiled_no_comparison(self): |
- """Generate individual tiles. |
- |
- TODO(epoger): The results of this test are currently broken! |
- The summary should contain a list of tiles, but for some reason, it is |
- empty.""" |
+ def test_untiled_no_comparison(self): |
+ """Run without tiles.""" |
input_skp_path = os.path.join(self._temp_dir, 'input.skp') |
output_json_path = os.path.join(self._temp_dir, 'output.json') |
self._run_skpmaker(['--writePath', input_skp_path]) |
self._run_render_pictures(['-r', input_skp_path, |
- '--bbh', 'grid', '256', '256', |
- '--mode', 'tile', '256', '256', |
+ '--writePath', self._temp_dir, |
'--writeJsonSummaryPath', output_json_path]) |
expected_summary_dict = { |
"actual-results" : { |
- "no-comparison" : None |
+ "no-comparison" : { |
+ # Manually verified: 640x400 red rectangle with black border |
+ "input.png" : ["bitmap-64bitMD5", 11092453015575919668], |
} |
} |
+ } |
self._assert_json_contents(output_json_path, expected_summary_dict) |
- def test_untiled_no_comparison(self): |
- """Run without tiles. |
+ def test_validate(self): |
+ """Same as test_untiled_no_comparison, but with --validate. |
+ |
+ TODO(epoger): This test generates undesired results! The call |
+ to render_pictures should succeed, and generate the same output as |
+ test_untiled_no_comparison. |
+ See https://code.google.com/p/skia/issues/detail?id=2044 ('render_pictures: |
+ --validate fails') |
+ """ |
+ input_skp_path = os.path.join(self._temp_dir, 'input.skp') |
+ output_json_path = os.path.join(self._temp_dir, 'output.json') |
+ self._run_skpmaker(['--writePath', input_skp_path]) |
+ with self.assertRaises(Exception): |
+ self._run_render_pictures(['-r', input_skp_path, |
+ '--validate', |
+ '--writePath', self._temp_dir, |
+ '--writeJsonSummaryPath', output_json_path]) |
+ |
+ def test_without_writePath(self): |
+ """Same as test_untiled_no_comparison, but without --writePath. |
+ |
+ TODO(epoger): This test generates undesired results! |
+ See https://code.google.com/p/skia/issues/detail?id=2043 ('render_pictures: |
+ --writeJsonSummaryPath fails unless --writePath is specified') |
+ """ |
+ input_skp_path = os.path.join(self._temp_dir, 'input.skp') |
+ output_json_path = os.path.join(self._temp_dir, 'output.json') |
+ self._run_skpmaker(['--writePath', input_skp_path]) |
+ self._run_render_pictures(['-r', input_skp_path, |
+ '--writeJsonSummaryPath', output_json_path]) |
+ expected_summary_dict = { |
+ "actual-results" : { |
+ "no-comparison" : None, |
+ } |
+ } |
+ self._assert_json_contents(output_json_path, expected_summary_dict) |
- TODO(epoger): The results of this test are currently broken! |
- The summary should contain a single image, but for some reason, it is |
- empty.""" |
+ def test_tiled_no_comparison(self): |
+ """Generate individual tiles.""" |
input_skp_path = os.path.join(self._temp_dir, 'input.skp') |
output_json_path = os.path.join(self._temp_dir, 'output.json') |
self._run_skpmaker(['--writePath', input_skp_path]) |
self._run_render_pictures(['-r', input_skp_path, |
+ '--bbh', 'grid', '256', '256', |
+ '--mode', 'tile', '256', '256', |
+ '--writePath', self._temp_dir, |
'--writeJsonSummaryPath', output_json_path]) |
expected_summary_dict = { |
"actual-results" : { |
- "no-comparison" : None |
+ "no-comparison" : { |
+ # Manually verified these 6 images, all 256x256 tiles, |
+ # consistent with a tiled version of the 640x400 red rect |
+ # with black borders. |
+ "input0.png" : ["bitmap-64bitMD5", 5815827069051002745], |
+ "input1.png" : ["bitmap-64bitMD5", 9323613075234140270], |
+ "input2.png" : ["bitmap-64bitMD5", 16670399404877552232], |
+ "input3.png" : ["bitmap-64bitMD5", 2507897274083364964], |
+ "input4.png" : ["bitmap-64bitMD5", 7325267995523877959], |
+ "input5.png" : ["bitmap-64bitMD5", 2181381724594493116], |
} |
} |
+ } |
self._assert_json_contents(output_json_path, expected_summary_dict) |
def _run_render_pictures(self, args): |
@@ -90,7 +138,6 @@ class RenderPicturesTest(base_unittest.TestCase): |
return self.run_command([binary, |
'--clone', '1', |
'--config', '8888', |
- '--validate' |
] + args) |
def _run_skpmaker(self, args): |