1ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch# Copyright 2013 The Chromium Authors. All rights reserved. 2ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch# Use of this source code is governed by a BSD-style license that can be 3ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch# found in the LICENSE file. 4ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 5ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom PIL import Image 6ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochimport unittest 7ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochimport sets 8ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 9ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom tests.rendering_test_manager import mock_cloud_bucket 10ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom tests.rendering_test_manager import cloud_bucket 11ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom tools import rendering_test_manager 12ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochfrom tools import image_tools 13ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 14ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 15ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochclass BucketRenderingTestManagerUnitTest(unittest.TestCase): 16ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 17ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def setUp(self): 18ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Set up structures that will be reused throughout testing. 19ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket = mock_cloud_bucket.MockCloudBucket() 20ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager = rendering_test_manager.RenderingTestManager(self.bucket) 21ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.white = Image.new('RGB', (25, 25), (255, 255, 255)) 22ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.red = Image.new('RGB', (25, 25), (255, 0, 0)) 23ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.black = Image.new('RGB', (25, 25), (0, 0, 0)) 24ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 25ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testUploadImage(self): 26ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 27ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload some images to the datastore. 28ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/white.png', self.white) 29ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/black.png', self.black) 30ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/red.png', self.red) 31ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Confirm that the images actually got uploaded. 32ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['path/to/white.png'], 33ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 34ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['path/to/black.png'], 35ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 36ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['path/to/red.png'], 37ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.red)) 38ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 39ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testDownloadImage(self): 40ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 41ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload some images to the datastore. 42ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/white.png', self.white) 43ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/black.png', self.black) 44ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadImage('path/to/red.png', self.red) 45ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that the DownloadImage function gets the correct images. 46ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals( 47ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage( 48ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.DownloadImage('path/to/white.png')), 49ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 50ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals( 51ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage( 52ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.DownloadImage('path/to/black.png')), 53ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 54ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals( 55ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage( 56ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.DownloadImage('path/to/red.png')), 57ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.red)) 58ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that the DownloadImage function throws an error for a 59ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # nonexistant image. 60ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertRaises(cloud_bucket.FileNotFoundError, 61ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.DownloadImage, 62ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'path/to/yellow.png') 63ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 64ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testUploadTest(self): 65ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 66ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload some tests to the datastore. 67ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test1', [self.white, self.black]) 68ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test2', [self.black, self.black]) 69ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Confirm that the tests were successfully uploaded. 70ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['tests/test1/expected.png'], 71ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 72ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['tests/test1/mask.png'], 73ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 74ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['tests/test2/expected.png'], 75ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 76ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(self.bucket.datastore['tests/test2/mask.png'], 77ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 78ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 79ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testRunTest(self): 80ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 81ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 82ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test1', [self.red, self.red]) 83ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.RunTest('test1', 'run1', self.black) 84ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals( 85ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.datastore['failures/test1/run1/actual.png'], 86ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 87ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.RunTest('test1', 'run2', self.red) 88ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertFalse( 89ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.datastore.has_key('failures/test1/run2/actual.png')) 90ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertRaises(cloud_bucket.FileNotFoundError, self.manager.RunTest, 91ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'test2', 'run1', self.black) 92ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 93ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testGetTest(self): 94ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 95ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload some tests to the datastore 96ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test1', [self.white, self.black]) 97ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test2', [self.red, self.white]) 98ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch test1 = self.manager.GetTest('test1') 99ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch test2 = self.manager.GetTest('test2') 100ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that GetTest gets the appropriate tests. 101ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(test1.expected), 102ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 103ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(test1.mask), 104ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 105ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(test2.expected), 106ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.red)) 107ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(test2.mask), 108ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 109ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that GetTest throws an error for a nonexistant test. 110ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertRaises( 111ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch cloud_bucket.FileNotFoundError, self.manager.GetTest, 'test3') 112ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 113bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch def testTestExists(self): 114bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.bucket.Reset() 115bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test1', [self.white, self.black]) 116bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test2', [self.white, self.black]) 117bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test1')) 118bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test2')) 119bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.TestExists('test3')) 120bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 121bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch def testFailureExists(self): 122bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.bucket.Reset() 123bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test1', [self.white, self.white]) 124bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RunTest('test1', 'run1', self.black) 125bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RunTest('test1', 'run2', self.white) 126bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.FailureExists('test1', 'run1')) 127bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.FailureExists('test1', 'run2')) 128bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 129bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch def testRemoveTest(self): 130bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.bucket.Reset() 131bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test1', [self.white, self.white]) 132bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test2', [self.white, self.white]) 133bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test1')) 134bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test2')) 135bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RemoveTest('test1') 136bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.TestExists('test1')) 137bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test2')) 138bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RemoveTest('test2') 139bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.TestExists('test1')) 140bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.TestExists('test2')) 141bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 142bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch def testRemoveFailure(self): 143bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.bucket.Reset() 144bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test1', [self.white, self.white]) 145bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.UploadTest('test2', [self.white, self.white]) 146bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RunTest('test1', 'run1', self.black) 147bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RunTest('test1', 'run2', self.black) 148bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.manager.RemoveFailure('test1', 'run1') 149bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertFalse(self.manager.FailureExists('test1', 'run1')) 150bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test1')) 151bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.FailureExists('test1', 'run2')) 152bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch self.assertTrue(self.manager.TestExists('test2')) 153bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch 154ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testGetFailure(self): 155ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 156ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload a result 157ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test1', [self.red, self.red]) 158ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.RunTest('test1', 'run1', self.black) 159ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch res = self.manager.GetFailure('test1', 'run1') 160ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that the function correctly got the result. 161ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(res.expected), 162ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.red)) 163ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(res.diff), 164ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.white)) 165ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(image_tools.SerializeImage(res.actual), 166ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch image_tools.SerializeImage(self.black)) 167ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that the function raises an error when given non-existant results. 168ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertRaises(cloud_bucket.FileNotFoundError, 169ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.GetFailure, 170ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'test1', 'run2') 171ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertRaises(cloud_bucket.FileNotFoundError, 172ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.GetFailure, 173ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'test2', 'run1') 174ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 175ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch def testGetAllPaths(self): 176ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.bucket.Reset() 177ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Upload some tests. 178ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test1', [self.white, self.black]) 179ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.manager.UploadTest('test2', [self.red, self.white]) 180ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch # Check that the function gets all urls matching the prefix. 181ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals( 182ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch sets.Set(self.manager.GetAllPaths('tests/test')), 183ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch sets.Set(['tests/test1/expected.png', 184ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'tests/test1/mask.png', 185ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'tests/test2/expected.png', 186ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'tests/test2/mask.png'])) 187ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(sets.Set(self.manager.GetAllPaths('tests/test1')), 188ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch sets.Set(['tests/test1/expected.png', 189ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 'tests/test1/mask.png'])) 190ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch self.assertEquals(sets.Set(self.manager.GetAllPaths('tests/test3')), 191ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch sets.Set()) 192ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 193ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 194ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochif __name__ == '__main__': 195ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch unittest.main() 196