blob: b7a7c57b3ae3e094ae0366eb83569b37a3f1c8ab [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright (c) 2013 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<link rel="import" href="/tracing/base/xhr.html">
<link rel="import" href="/tracing/core/test_utils.html">
<link rel="import" href="/tracing/extras/importer/trace_event_importer.html">
<link rel="import" href="/tracing/model/model.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
var eventStrings = {};
// @const
var TEST_NAMES = ['simple_trace', 'lthi_cats'];
// @const
var TEST_FILES_PATHS = ['/test_data/simple_trace.json',
'/test_data/lthi_cats.json.gz'];
function getEvents(url) {
if (url in eventStrings)
return eventStrings[url];
eventStrings[url] = tr.b.getSync(url);
return eventStrings[url];
}
function timedPerfTestWithEvents(name, testFn, initialOptions) {
if (initialOptions.setUp)
throw new Error(
'Per-test setUp not supported. Trivial to fix if needed.');
var options = {};
for (var k in initialOptions)
options[k] = initialOptions[k];
options.setUp = function() {
TEST_FILES_PATHS.forEach(
function warmup(url) {
getEvents(url);
});
};
timedPerfTest(name, testFn, options);
}
var n110100 = [1, 10, 100];
n110100.forEach(function(val) {
timedPerfTestWithEvents(TEST_NAMES[0] + '_' + val, function() {
var events = getEvents(TEST_FILES_PATHS[0]);
var m = tr.c.TestUtils.newModelWithEvents([events], {
shiftWorldToZero: false,
pruneContainers: false
});
}, {iterations: val});
});
timedPerfTestWithEvents(TEST_NAMES[1] + '_1', function() {
var events = getEvents(TEST_FILES_PATHS[1]);
var m = tr.c.TestUtils.newModelWithEvents([events], {
shiftWorldToZero: false,
pruneContainers: false
});
}, {iterations: 1});
});
</script>