Index: chrome/test/functional/ispy/common/ispy_utils_unittest.py |
=================================================================== |
--- chrome/test/functional/ispy/common/ispy_utils_unittest.py (revision 261231) |
+++ chrome/test/functional/ispy/common/ispy_utils_unittest.py (working copy) |
@@ -1,207 +0,0 @@ |
-# Copyright 2013 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import os |
-from PIL import Image |
-import sys |
-import unittest |
- |
-import cloud_bucket |
-import image_tools |
-import ispy_utils |
-import mock_cloud_bucket |
- |
- |
-class ISpyUtilsUnitTest(unittest.TestCase): |
- |
- def setUp(self): |
- # Set up structures that will be reused throughout testing. |
- self.bucket = mock_cloud_bucket.MockCloudBucket() |
- self.ispy_utils = ispy_utils.ISpyUtils(self.bucket) |
- self.white = Image.new('RGBA', (25, 25), (255, 255, 255, 255)) |
- self.red = Image.new('RGBA', (25, 25), (255, 0, 0, 255)) |
- self.black = Image.new('RGBA', (25, 25), (0, 0, 0, 255)) |
- self.masked = Image.new('RGBA', (25, 25), (210, 0, 0, 255)) |
- |
- def testUploadImage(self): |
- self.bucket.Reset() |
- # Upload some images to the datastore. |
- self.ispy_utils.UploadImage('path/to/white.png', self.white) |
- self.ispy_utils.UploadImage('path/to/black.png', self.black) |
- self.ispy_utils.UploadImage('path/to/red.png', self.red) |
- # Confirm that the images actually got uploaded. |
- self.assertEquals(self.bucket.datastore['path/to/white.png'], |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals(self.bucket.datastore['path/to/black.png'], |
- image_tools.EncodePNG(self.black)) |
- self.assertEquals(self.bucket.datastore['path/to/red.png'], |
- image_tools.EncodePNG(self.red)) |
- |
- def testDownloadImage(self): |
- self.bucket.Reset() |
- # Upload some images to the datastore. |
- self.ispy_utils.UploadImage('path/to/white.png', self.white) |
- self.ispy_utils.UploadImage('path/to/black.png', self.black) |
- self.ispy_utils.UploadImage('path/to/red.png', self.red) |
- # Check that the DownloadImage function gets the correct images. |
- self.assertEquals( |
- image_tools.EncodePNG( |
- self.ispy_utils.DownloadImage('path/to/white.png')), |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals( |
- image_tools.EncodePNG( |
- self.ispy_utils.DownloadImage('path/to/black.png')), |
- image_tools.EncodePNG(self.black)) |
- self.assertEquals( |
- image_tools.EncodePNG( |
- self.ispy_utils.DownloadImage('path/to/red.png')), |
- image_tools.EncodePNG(self.red)) |
- # Check that the DownloadImage function throws an error for a |
- # nonexistant image. |
- self.assertRaises(cloud_bucket.FileNotFoundError, |
- self.ispy_utils.DownloadImage, |
- 'path/to/yellow.png') |
- |
- def testUpdateImage(self): |
- self.bucket.Reset() |
- # Upload some images to the datastore. |
- self.ispy_utils.UploadImage('path/to/image.png', self.white) |
- self.assertEquals(self.bucket.datastore['path/to/image.png'], |
- image_tools.EncodePNG(self.white)) |
- self.ispy_utils.UpdateImage('path/to/image.png', self.black) |
- # Confirm that the image actually got updated. |
- self.assertEquals(self.bucket.datastore['path/to/image.png'], |
- image_tools.EncodePNG(self.black)) |
- |
- def testGenerateExpectation(self): |
- self.bucket.Reset() |
- # Upload some tests to the datastore. |
- self.ispy_utils.GenerateExpectation('test', [self.white, self.black]) |
- self.ispy_utils.GenerateExpectation('test1', [self.black, self.black]) |
- self.ispy_utils.GenerateExpectation('test2', [self.black]) |
- # Confirm that the tests were successfully uploaded. |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test', 'expected.png')], |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test', 'mask.png')], |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test1', 'expected.png')], |
- image_tools.EncodePNG(self.black)) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test1', 'mask.png')], |
- image_tools.EncodePNG(self.black)) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test2', 'expected.png')], |
- image_tools.EncodePNG(self.black)) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetExpectationPath('test2', 'mask.png')], |
- image_tools.EncodePNG(self.black)) |
- |
- def testPerformComparison(self): |
- self.bucket.Reset() |
- self.ispy_utils.GenerateExpectation('test1', [self.red, self.red]) |
- self.ispy_utils.PerformComparison('test', 'test1', self.black) |
- self.assertEquals(self.bucket.datastore[ |
- ispy_utils.GetFailurePath('test', 'test1', 'actual.png')], |
- image_tools.EncodePNG(self.black)) |
- self.ispy_utils.PerformComparison('test', 'test1', self.red) |
- self.assertTrue(self.bucket.datastore.has_key( |
- ispy_utils.GetFailurePath('test', 'test1', 'actual.png'))) |
- |
- def testGetExpectation(self): |
- self.bucket.Reset() |
- # Upload some tests to the datastore |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.black]) |
- self.ispy_utils.GenerateExpectation('test2', [self.red, self.white]) |
- test1 = self.ispy_utils.GetExpectation('test1') |
- test2 = self.ispy_utils.GetExpectation('test2') |
- # Check that GetExpectation gets the appropriate tests. |
- self.assertEquals(image_tools.EncodePNG(test1.expected), |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals(image_tools.EncodePNG(test1.mask), |
- image_tools.EncodePNG(self.white)) |
- self.assertEquals(image_tools.EncodePNG(test2.expected), |
- image_tools.EncodePNG(self.red)) |
- self.assertEquals(image_tools.EncodePNG(test2.mask), |
- image_tools.EncodePNG(self.white)) |
- # Check that GetExpectation throws an error for a nonexistant test. |
- self.assertRaises( |
- cloud_bucket.FileNotFoundError, self.ispy_utils.GetExpectation, 'test3') |
- |
- def testExpectationExists(self): |
- self.bucket.Reset() |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.black]) |
- self.ispy_utils.GenerateExpectation('test2', [self.white, self.black]) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test1')) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test2')) |
- self.assertFalse(self.ispy_utils.ExpectationExists('test3')) |
- |
- def testFailureExists(self): |
- self.bucket.Reset() |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.white]) |
- self.ispy_utils.PerformComparison('test', 'test1', self.black) |
- self.ispy_utils.PerformComparison('test', 'test1', self.white) |
- self.assertTrue(self.ispy_utils.FailureExists('test', 'test1')) |
- self.assertFalse(self.ispy_utils.FailureExists('test', 'test2')) |
- |
- def testRemoveExpectation(self): |
- self.bucket.Reset() |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.white]) |
- self.ispy_utils.GenerateExpectation('test2', [self.white, self.white]) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test1')) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test2')) |
- self.ispy_utils.RemoveExpectation('test1') |
- self.assertFalse(self.ispy_utils.ExpectationExists('test1')) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test2')) |
- self.ispy_utils.RemoveExpectation('test2') |
- self.assertFalse(self.ispy_utils.ExpectationExists('test1')) |
- self.assertFalse(self.ispy_utils.ExpectationExists('test2')) |
- |
- def testRemoveFailure(self): |
- self.bucket.Reset() |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.white]) |
- self.ispy_utils.GenerateExpectation('test2', [self.white, self.white]) |
- self.ispy_utils.PerformComparison('test', 'test1', self.black) |
- self.ispy_utils.RemoveFailure('test', 'test1') |
- self.assertFalse(self.ispy_utils.FailureExists('test', 'test1')) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test1')) |
- self.assertFalse(self.ispy_utils.FailureExists('test', 'test2')) |
- self.assertTrue(self.ispy_utils.ExpectationExists('test2')) |
- |
- def testGetFailure(self): |
- self.bucket.Reset() |
- # Upload a result |
- self.ispy_utils.GenerateExpectation('test1', [self.red, self.red]) |
- self.ispy_utils.PerformComparison('test', 'test1', self.black) |
- res = self.ispy_utils.GetFailure('test', 'test1') |
- # Check that the function correctly got the result. |
- self.assertEquals(image_tools.EncodePNG(res.expected), |
- image_tools.EncodePNG(self.red)) |
- self.assertEquals(image_tools.EncodePNG(res.diff), |
- image_tools.EncodePNG(self.masked)) |
- self.assertEquals(image_tools.EncodePNG(res.actual), |
- image_tools.EncodePNG(self.black)) |
- # Check that the function raises an error when given non-existant results. |
- self.assertRaises(cloud_bucket.FileNotFoundError, |
- self.ispy_utils.GetFailure, 'test', 'test2') |
- |
- def testGetAllPaths(self): |
- self.bucket.Reset() |
- # Upload some tests. |
- self.ispy_utils.GenerateExpectation('test1', [self.white, self.black]) |
- # Check that the function gets all urls matching the prefix. |
- self.assertEquals( |
- set(self.ispy_utils.GetAllPaths( |
- ispy_utils.GetExpectationPath('test1'))), |
- set([ispy_utils.GetExpectationPath('test1', 'expected.png'), |
- ispy_utils.GetExpectationPath('test1', 'mask.png')])) |
- self.assertEquals( |
- set(self.ispy_utils.GetAllPaths( |
- ispy_utils.GetExpectationPath('test3'))), set()) |
- |
- |
-if __name__ == '__main__': |
- unittest.main() |