15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#!/usr/bin/env python 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)from datetime import datetime 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)import calendar 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import unittest 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)from test_expectations_history import TestExpectationsHistory 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class TestTestExpectationsHistory(unittest.TestCase): 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) """Unit tests for the TestExpectationsHistory class.""" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def AssertTestName(self, result_list, testname): 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) """Assert test name in the result_list. 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Args: 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result_list: a result list of tuples returned by 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) |GetDiffBetweenTimesOnly1Diff()|. Each tuple consists of 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) (old_rev, new_rev, author, date, message, lines) where 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) |lines| are the entries in the test expectation file. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname: a testname string. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Returns: 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) True if the result contains the testname, False otherwise. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) """ 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (_, _, _, _, _, lines) in result_list: 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if any([testname in line for line in lines]): 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return True 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return False 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) # These tests use the following commit. 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) # commit 235788e3a4fc71342a5c9fefe67ce9537706ce35 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) # Author: rniwa@webkit.org 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) # Date: Sat Aug 20 06:19:11 2011 +0000 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def testGetDiffBetweenTimes(self): 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ptime = calendar.timegm((2011, 8, 20, 0, 0, 0, 0, 0, 0)) 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ctime = calendar.timegm((2011, 8, 21, 0, 0, 0, 0, 0, 0)) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname = 'fast/css/getComputedStyle/computed-style-without-renderer.html' 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname_list = [testname] 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result_list = TestExpectationsHistory.GetDiffBetweenTimes( 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ptime, ctime, testname_list) 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.assertTrue(self.AssertTestName(result_list, testname)) 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def testGetDiffBetweenTimesOnly1Diff(self): 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ptime = calendar.timegm((2011, 8, 20, 6, 0, 0, 0, 0, 0)) 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ctime = calendar.timegm((2011, 8, 20, 7, 0, 0, 0, 0, 0)) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname = 'fast/css/getComputedStyle/computed-style-without-renderer.html' 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname_list = [testname] 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result_list = TestExpectationsHistory.GetDiffBetweenTimes( 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ptime, ctime, testname_list) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.assertTrue(self.AssertTestName(result_list, testname)) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) def testGetDiffBetweenTimesOnly1DiffWithGobackSeveralDays(self): 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ptime = calendar.timegm((2011, 9, 12, 1, 0, 0, 0, 0, 0)) 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ctime = calendar.timegm((2011, 9, 12, 2, 0, 0, 0, 0, 0)) 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname = 'media/video-zoom-controls.html' 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) testname_list = [testname] 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) result_list = TestExpectationsHistory.GetDiffBetweenTimes( 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ptime, ctime, testname_list) 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) self.assertTrue(self.AssertTestName(result_list, testname)) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)if __name__ == '__main__': 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) unittest.main() 71