def test_diff_image_failed(self): port = self.make_port() port._server_process_constructor = lambda port, nm, cmd, env: MockServerProcess( lines=['diff: 100% failed\n']) image_differ = ImageDiffer(port) self.assertEqual(image_differ.diff_image('foo', 'bar', 0.1), ('', 100.0, None))
def make_proc(port, nm, cmd, env): self.proc = MockServerProcess( port, nm, cmd, env, lines=['diff: 100% failed\n', 'diff: 100% failed\n']) return self.proc
def test_read_block(self): port = TestWebKitPort() driver = Driver(port, 0, pixel_tests=False) driver._server_process = MockServerProcess(lines=[ 'ActualHash: foobar', 'Content-Type: my_type', 'Content-Transfer-Encoding: none', "#EOF", ]) content_block = driver._read_block(0) self.assertEqual(content_block.content_type, 'my_type') self.assertEqual(content_block.encoding, 'none') self.assertEqual(content_block.content_hash, 'foobar') driver._server_process = None
def test_read_block(self): port = TestWebKitPort() driver = Driver(port, 0, pixel_tests=False) driver._server_process = MockServerProcess(lines=[ 'ActualHash: foobar', 'Content-Type: my_type', 'Content-Transfer-Encoding: none', "#EOF", ]) content_block = driver._read_block(0, "") self.assertEqual(content_block.content_type, 'my_type') self.assertEqual(content_block.encoding, 'none') self.assertEqual(content_block.content_hash, 'foobar') # We should only poll once for each line. self.assertEqual(driver._server_process.number_of_times_polled, 4) driver._server_process = None
def test_read_base64_block(self): port = TestWebKitPort() driver = Driver(port, 0, pixel_tests=True) driver._server_process = MockServerProcess(lines=[ 'ActualHash: actual', 'ExpectedHash: expected', 'Content-Type: image/png', 'Content-Transfer-Encoding: base64', 'Content-Length: 12', 'MTIzNDU2NzgK#EOF', ]) content_block = driver._read_block(0) self.assertEqual(content_block.content_type, 'image/png') self.assertEqual(content_block.content_hash, 'actual') self.assertEqual(content_block.encoding, 'base64') self.assertEqual(content_block.content, 'MTIzNDU2NzgK') self.assertEqual(content_block.decoded_content, '12345678\n')
def test_read_binary_block(self): port = TestWebKitPort() driver = Driver(port, 0, pixel_tests=True) driver._server_process = MockServerProcess(lines=[ 'ActualHash: actual', 'ExpectedHash: expected', 'Content-Type: image/png', 'Content-Length: 9', "12345678", "#EOF", ]) content_block = driver._read_block(0) self.assertEqual(content_block.content_type, 'image/png') self.assertEqual(content_block.content_hash, 'actual') self.assertEqual(content_block.content, '12345678\n') self.assertEqual(content_block.decoded_content, '12345678\n') driver._server_process = None
def test_read_block_crashed_process(self): port = TestWebKitPort() driver = Driver(port, 0, pixel_tests=False) driver._server_process = MockServerProcess( crashed=True, lines=[ 'ActualHash: foobar', 'Content-Type: my_type', 'Content-Transfer-Encoding: none', '#EOF', ]) content_block = driver._read_block(0, "") self.assertEqual(content_block.content_type, None) self.assertEqual(content_block.encoding, None) self.assertEqual(content_block.content_hash, None) driver._server_process = None
def make_proc(port, nm, cmd, env): self.proc = MockServerProcess(port, nm, cmd, env, crashed=True) return self.proc
def test_diff_image_passed(self): port = self.make_port() port._server_process_constructor = lambda port, nm, cmd, env, crash_message=None: MockServerProcess( lines=['diff: 0% passed\n']) image_differ = ImageDiffer(port) self.assertEqual(image_differ.diff_image(b'foo', b'bar', 0.1), (None, 0, None))
def __init__(self, server_process_output): self._server_process_constructor = lambda port, nm, cmd, env: MockServerProcess(lines=server_process_output)