• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 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
7As of May 14, 2014, JSGameBench is no longer maintained. See README.md:
8https://github.com/facebookarchive/jsgamebench
9
10The benchmark is kept here for historical purposes but is disabled on the bots.
11"""
12
13import os
14
15from telemetry import test
16from telemetry.page import page_measurement
17from telemetry.page import page_set
18
19
20class _JsgamebenchMeasurement(page_measurement.PageMeasurement):
21  def __init__(self):
22    super(_JsgamebenchMeasurement, self).__init__()
23
24  def MeasurePage(self, page, tab, results):
25    tab.ExecuteJavaScript('UI.call({}, "perftest")')
26    tab.WaitForJavaScriptExpression(
27        'document.getElementById("perfscore0") != null', 1800)
28
29    js_get_results = 'document.getElementById("perfscore0").innerHTML'
30    result = int(tab.EvaluateJavaScript(js_get_results))
31    results.Add('Score', 'score (bigger is better)', result)
32
33
34@test.Disabled
35class Jsgamebench(test.Test):
36  """Counts how many animating sprites can move around on the screen at once."""
37  test = _JsgamebenchMeasurement
38
39  def CreatePageSet(self, options):
40    ps = page_set.PageSet(
41      archive_data_file='../page_sets/data/jsgamebench.json',
42      file_path=os.path.dirname(__file__))
43    ps.AddPageWithDefaultRunNavigate('http://localhost/')
44    return ps
45