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