Changeset 190526 in webkit


Ignore:
Timestamp:
Oct 2, 2015 3:15:22 PM (9 years ago)
Author:
commit-queue@webkit.org
Message:

Add the test runner for a new a graphics benchmark
https://bugs.webkit.org/show_bug.cgi?id=149683

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-10-02
Reviewed by Ryosuke Niwa.

The test runner collects the selected test suites and the running options
from its home page. It loops through all the tests, runs them and collects
their running results. At the end, it shows summary results and a final
score. It can also show a chart for a test sampled data.

  • Animometer: Added.
  • Animometer/runner: Added.
  • Animometer/runner/resources: Added.
  • Animometer/runner/animometer.html: Added.
  • Animometer/runner/resources/animometer.css: Added.

The benchmark runner page and css.

  • Animometer/runner/resources/animometer.js: Added.

(window.benchmarkRunnerClient.willAddTestFrame): Called after the test <iframe> is created.
(window.benchmarkRunnerClient.didRunTest): Called after running a test is finished.
(window.benchmarkRunnerClient.willStartFirstIteration): Called at the beginning before running any test.
(window.benchmarkRunnerClient.didRunSuites): Called after running all tests of a suite.
(window.benchmarkRunnerClient.didFinishLastIteration): Called after running the last test.

(showSection): Shows a section in the animometer.html page.
(startTest): Called when the "Start Test" button is clicked.
(showResults): Called after finishing all the tests.
(showGraph): Called when "Click..." button in the "Samples" column of the results table is clicked

  • Animometer/runner/resources/benchmark-runner.js: Copied from PerformanceTests/Speedometer/resources/benchmark-runner.js.

(BenchmarkRunnerState): Tracks the current running <suite, test>
(BenchmarkRunnerState.prototype.currentSuite): Returns the current running suite.
(BenchmarkRunnerState.prototype.currentTest): Returns the current running test.
(BenchmarkRunnerState.prototype.isFirstTest): Returns true if we are running the first test in the current suite.
(BenchmarkRunnerState.prototype.next): Advances to the next test.
(BenchmarkRunnerState.prototype.prepareCurrentTest): Creates a new <iframe> and waits for it to load a test.

(BenchmarkRunner): Manages running the tests and communicating with the benchmarkRunnerClient.
(BenchmarkRunner.prototype.waitForElement): Waits for an element to be created.
(BenchmarkRunner.prototype._appendFrame): Creates a new <iframe> element.
(BenchmarkRunner.prototype._removeFrame): Removed the current <iframe> element.
(BenchmarkRunner.prototype._runTestAndRecordResults): Runs the current test and saves its results.
(BenchmarkRunner.prototype.step): Either runs the current test if there is or start a new iteration.
(BenchmarkRunner.prototype.runAllSteps): Loops to run all the tests and move to the next iteration.
(this._runNextIteration): Starts a new iteration or show the results.
(BenchmarkRunner.prototype.runMultipleIterations): Loops to run all the iterations and show the results
(BenchmarkRunner.prototype._finalize): Finalizes the current iteration and starts a new one.

(SimplePromise): Deleted.
(SimplePromise.prototype.then): Deleted.
(SimplePromise.prototype.resolve): Deleted.
(BenchmarkTestStep): Deleted.
(Fibonacci): Deleted.
SimplePromise was moved t Animometer/resources/extensions.js because it is used by the runner and the tests.

(BenchmarkRunner.prototype._waitAndWarmUp): Deleted.
(BenchmarkRunner.prototype._runTest): Deleted.
(BenchmarkState.prototype.currentSuite): Deleted.
(BenchmarkState.prototype.currentTest): Deleted.
(BenchmarkState.prototype.next): Deleted.
(BenchmarkState.prototype.isFirstTest): Deleted.
(BenchmarkState.prototype.prepareCurrentSuite): Deleted.
BenchmarkState was renamed to BenchmarkRunnerState to not be confused with the tests BenchmarkState.

  • Animometer/runner/resources/d3.min.js: Copied from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js.

Needed for drawing charts for the sampled scores and frame rates.

  • Animometer/runner/resources/graph.js: Added.

(graph): Draws a chart for a test sampled data. It shows two y-axes: one for the animated items and the second for FPS.

  • Skipped: Skip the Animometer benchmark for now.
Location:
trunk/PerformanceTests
Files:
9 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/ChangeLog

    r189027 r190526  
     12015-10-02  Said Abou-Hallawa  <sabouhallawa@apple.com>
     2
     3        Add the test runner for a new a graphics benchmark
     4        https://bugs.webkit.org/show_bug.cgi?id=149683
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        The test runner collects the selected test suites and the running options
     9        from its home page. It loops through all the tests, runs them and collects
     10        their running results. At the end, it shows summary results and a final
     11        score. It can also show a chart for a test sampled data.
     12
     13        * Animometer: Added.
     14        * Animometer/runner: Added.
     15        * Animometer/runner/resources: Added.
     16       
     17        * Animometer/runner/animometer.html: Added.
     18        * Animometer/runner/resources/animometer.css: Added.
     19        The benchmark runner page and css.
     20
     21        * Animometer/runner/resources/animometer.js: Added.
     22        (window.benchmarkRunnerClient.willAddTestFrame): Called after the test <iframe> is created.
     23        (window.benchmarkRunnerClient.didRunTest): Called after running a test is finished.
     24        (window.benchmarkRunnerClient.willStartFirstIteration): Called at the beginning before running any test.
     25        (window.benchmarkRunnerClient.didRunSuites): Called after running all tests of a suite.
     26        (window.benchmarkRunnerClient.didFinishLastIteration): Called after running the last test.
     27       
     28        (showSection): Shows a section in the animometer.html page.
     29        (startTest): Called when the "Start Test" button is clicked.
     30        (showResults): Called after finishing all the tests.
     31        (showGraph): Called when "Click..." button in the "Samples" column of the results table is clicked
     32       
     33        * Animometer/runner/resources/benchmark-runner.js: Copied from PerformanceTests/Speedometer/resources/benchmark-runner.js.
     34        (BenchmarkRunnerState): Tracks the current running <suite, test>
     35        (BenchmarkRunnerState.prototype.currentSuite): Returns the current running suite.
     36        (BenchmarkRunnerState.prototype.currentTest): Returns the current running test.
     37        (BenchmarkRunnerState.prototype.isFirstTest): Returns true if we are running the first test in the current suite.
     38        (BenchmarkRunnerState.prototype.next): Advances to the next test.
     39        (BenchmarkRunnerState.prototype.prepareCurrentTest): Creates a new <iframe> and waits for it to load a test.
     40       
     41        (BenchmarkRunner): Manages running the tests and communicating with the benchmarkRunnerClient.
     42        (BenchmarkRunner.prototype.waitForElement): Waits for an element to be created.
     43        (BenchmarkRunner.prototype._appendFrame): Creates a new <iframe> element.
     44        (BenchmarkRunner.prototype._removeFrame): Removed the current <iframe> element.
     45        (BenchmarkRunner.prototype._runTestAndRecordResults): Runs the current test and saves its results.
     46        (BenchmarkRunner.prototype.step): Either runs the current test if there is or start a new iteration.
     47        (BenchmarkRunner.prototype.runAllSteps): Loops to run all the tests and move to the next iteration.
     48        (this._runNextIteration): Starts a new iteration or show the results.
     49        (BenchmarkRunner.prototype.runMultipleIterations): Loops to run all the iterations and show the results
     50        (BenchmarkRunner.prototype._finalize): Finalizes the current iteration and starts a new one.
     51
     52        (SimplePromise): Deleted.
     53        (SimplePromise.prototype.then): Deleted.
     54        (SimplePromise.prototype.resolve): Deleted.
     55        (BenchmarkTestStep): Deleted.
     56        (Fibonacci): Deleted.
     57        SimplePromise was moved t Animometer/resources/extensions.js because it is used by the runner and the tests.
     58       
     59        (BenchmarkRunner.prototype._waitAndWarmUp): Deleted.
     60        (BenchmarkRunner.prototype._runTest): Deleted.
     61        (BenchmarkState.prototype.currentSuite): Deleted.
     62        (BenchmarkState.prototype.currentTest): Deleted.
     63        (BenchmarkState.prototype.next): Deleted.
     64        (BenchmarkState.prototype.isFirstTest): Deleted.
     65        (BenchmarkState.prototype.prepareCurrentSuite): Deleted.
     66        BenchmarkState was renamed to BenchmarkRunnerState to not be confused with the tests BenchmarkState.
     67       
     68        * Animometer/runner/resources/d3.min.js: Copied from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js.
     69        Needed for drawing charts for the sampled scores and frame rates.
     70       
     71        * Animometer/runner/resources/graph.js: Added.
     72        (graph): Draws a chart for a test sampled data. It shows two y-axes: one for the animated items and the second for FPS.
     73               
     74        * Skipped: Skip the Animometer benchmark for now.
     75
    1762015-08-27  Csaba Osztrogonác  <ossy@webkit.org>
    277
  • trunk/PerformanceTests/Skipped

    r189027 r190526  
    9797# https://bugs.webkit.org/show_bug.cgi?id=148470
    9898[ EFL ] Bindings/event-target-wrapper.html
     99
     100# Still under development so skip it for now.
     101Animometer
Note: See TracChangeset for help on using the changeset viewer.