Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / perf / benchmarks / jsgamebench.py
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Runs Facebook's JSGameBench benchmark."""
6
7 import os
8
9 from telemetry import test
10 from telemetry.page import page_measurement
11 from telemetry.page import page_set
12
13
14 class _JsgamebenchMeasurement(page_measurement.PageMeasurement):
15   def __init__(self):
16     super(_JsgamebenchMeasurement, self).__init__()
17
18   def MeasurePage(self, page, tab, results):
19     tab.ExecuteJavaScript('UI.call({}, "perftest")')
20     tab.WaitForJavaScriptExpression(
21         'document.getElementById("perfscore0") != null', 1800)
22
23     js_get_results = 'document.getElementById("perfscore0").innerHTML'
24     result = int(tab.EvaluateJavaScript(js_get_results))
25     results.Add('Score', 'score (bigger is better)', result)
26
27
28 @test.Disabled('linux')  # crbug.com/365237
29 class Jsgamebench(test.Test):
30   """Counts how many animating sprites can move around on the screen at once."""
31   test = _JsgamebenchMeasurement
32
33   def CreatePageSet(self, options):
34     ps = page_set.PageSet(
35       archive_data_file='../page_sets/data/jsgamebench.json',
36       file_path=os.path.dirname(__file__))
37     ps.AddPageWithDefaultRunNavigate('http://localhost/')
38     return ps