Changeset 106543 in webkit


Ignore:
Timestamp:
Feb 2, 2012 2:24:29 AM (12 years ago)
Author:
rniwa@webkit.org
Message:

[PerformanceTests] tests have dependencies
https://bugs.webkit.org/show_bug.cgi?id=77506

Reviewed by Hajime Morita.

PerformanceTests:

  • resources/init.html: Added.

Tools:

Load an initialization page before each test after starting a DRT so that
warming up DRT won't affect the performance test results.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner):
(PerfTestsRunner.init):
(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.TestDriver.run_test):
(test_initial_page_loaded):
(test_initial_page_loaded.run_test):

Location:
trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/ChangeLog

    r106450 r106543  
     12012-02-02  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        [PerformanceTests] tests have dependencies
     4        https://bugs.webkit.org/show_bug.cgi?id=77506
     5
     6        Reviewed by Hajime Morita.
     7
     8        * resources/init.html: Added.
     9
    1102012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
    211
  • trunk/Tools/ChangeLog

    r106540 r106543  
     12012-02-02  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        [PerformanceTests] tests have dependencies
     4        https://bugs.webkit.org/show_bug.cgi?id=77506
     5
     6        Reviewed by Hajime Morita.
     7
     8        Load an initialization page before each test after starting a DRT so that
     9        warming up DRT won't affect the performance test results.
     10
     11        * Scripts/webkitpy/performance_tests/perftestsrunner.py:
     12        (PerfTestsRunner):
     13        (PerfTestsRunner.__init__):
     14        (PerfTestsRunner._run_tests_set):
     15        (PerfTestsRunner._run_single_test):
     16        * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
     17        (MainTest.TestDriver.run_test):
     18        (test_initial_page_loaded):
     19        (test_initial_page_loaded.run_test):
     20
    1212012-02-02  Ryosuke Niwa  <rniwa@webkit.org>
    222
  • trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py

    r106540 r106543  
    4848class PerfTestsRunner(object):
    4949    _perf_tests_base_dir = 'PerformanceTests'
     50    _initial_page_relative_path = 'resources/init.html'
    5051    _test_directories_for_chromium_style_tests = ['inspector']
    5152    _default_branch = 'webkit-trunk'
     
    6768        self._webkit_base_dir_len = len(self._port.webkit_base())
    6869        self._base_path = self._port.perf_tests_dir()
     70        self._initial_page_path = self._host.filesystem.join(self._base_path, self._initial_page_relative_path)
    6971        self._results = {}
    7072        self._timestamp = time.time()
     
    203205        expected = 0
    204206        unexpected = 0
    205         driver = None
    206207
    207208        for test in tests:
     
    283284    def _run_single_test(self, test, driver, is_chromium_style):
    284285        test_failed = False
     286        output = driver.run_test(DriverInput(self._initial_page_path, 10000, None, False))
     287        if output.text != 'PASS\n':
     288            self._printer.write('Initialization page failed to load.')
    285289        output = driver.run_test(DriverInput(test, self._options.time_out_ms, None, False))
    286290
  • trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py

    r106540 r106543  
    5050            timeout = False
    5151            crash = False
    52             if driver_input.test_name.endswith('pass.html'):
     52            if driver_input.test_name.endswith('init.html'):
     53                text = 'PASS\n'
     54            elif driver_input.test_name.endswith('pass.html'):
    5355                text = 'RESULT group_name: test_name= 42 ms'
    5456            elif driver_input.test_name.endswith('timeout.html'):
     
    124126        return runner._run_single_test(test_name, driver, is_chromium_style=True)
    125127
     128    def test_initial_page_loaded(self):
     129        runner = self.create_runner()
     130        driver = MainTest.TestDriver()
     131        inputs = []
     132
     133        def run_test(input):
     134            inputs.append(input)
     135            if input.test_name.endswith('init.html'):
     136                return DriverOutput('PASS\n', 'image output', 'some hash', None)
     137            else:
     138                return DriverOutput('RESULT group_name: test_name= 42 ms\n', 'image output', 'some hash', None)
     139
     140        driver.run_test = run_test
     141        self.assertTrue(runner._run_single_test('pass.html', driver, is_chromium_style=True))
     142        self.assertEqual(len(inputs), 2)
     143        self.assertEqual(inputs[0].test_name, runner._base_path + '/resources/init.html')
     144        self.assertEqual(inputs[1].test_name, 'pass.html')
     145
    126146    def test_run_passing_test(self):
    127147        self.assertTrue(self.run_test('pass.html'))
Note: See TracChangeset for help on using the changeset viewer.