| <!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="/perf_insights/results/results.html"> |
| <link rel="import" href="/perf_insights/value/run_info.html"> |
| <link rel="import" href="/perf_insights/value/value.html"> |
| <link rel="import" href="/perf_insights/mappers/weather_report_map_function.html"> |
| <link rel="import" href="/tracing/core/test_utils.html"> |
| <link rel="import" href="/tracing/extras/rail/idle_interaction_record.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.b.unittest.testSuite(function() { |
| var test_utils = tr.c.TestUtils; |
| var ThreadSlice = tr.model.ThreadSlice; |
| |
| test('basicModelTest', function() { |
| var m = test_utils.newModel(function(m) { |
| var p1 = m.getOrCreateProcess(1); |
| var t2 = p1.getOrCreateThread(2); |
| t2.sliceGroup.pushSlice(test_utils.newSliceEx({ |
| name: 'some_slice', |
| start: 0, duration: 10 |
| })); |
| }); |
| |
| var results = new pi.r.Results(); |
| var runInfo = new pi.v.RunInfo('my_test.json'); |
| pi.m.weatherReportMapFunction(results, runInfo, m); |
| |
| assert.equal(results.allValues.length, 1); |
| assert.isTrue(results.allValues[0] instanceof pi.v.DictValue); |
| }); |
| |
| test('basicWrTest', function() { |
| var m = test_utils.newModel(function(m) { |
| var p1 = m.getOrCreateProcess(1); |
| var t2 = p1.getOrCreateThread(2); |
| var t2_s1 = t2.sliceGroup.pushSlice(test_utils.newSliceEx({ |
| type: ThreadSlice, |
| name: 'some_slice', |
| start: 0, end: 10 |
| })); |
| var t2_s2 = t2.sliceGroup.pushSlice(test_utils.newSliceEx({ |
| type: ThreadSlice, |
| name: 'some_slice', |
| start: 20, end: 30 |
| })); |
| |
| var idleIr = new tr.e.rail.IdleInteractionRecord(m, 0, 10); |
| m.interactionRecords.push(idleIr); |
| idleIr.associatedEvents.push(t2_s2); |
| }); |
| |
| var wr = pi.m.getWeatherReportFromModel(m); |
| assert.isDefined(wr.sliceCosts); |
| assert.equal(wr.sliceCosts.length, 2); |
| }); |
| }); |
| |
| </script> |