| <!DOCTYPE html> |
| <!-- |
| Copyright 2015 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/mre/failure.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.exportTo('pi.mre', function() { |
| function JobResults(failures, reduceResults) { |
| if (failures === undefined) |
| failures = []; |
| if (reduceResults === undefined) |
| reduceResults = {}; |
| this.failures = failures; |
| this.reduceResults = reduceResults; |
| } |
| |
| JobResults.prototype = { |
| addFailure: function(failure) { |
| this.failures.push(failure); |
| }, |
| |
| addResult: function(key, value) { |
| if (key in this.reduceResults) |
| throw new Error('Key ' + key + 'already exists in results.'); |
| this.reduceResults[key] = value; |
| }, |
| |
| asDict: function() { |
| return { |
| failures: this.failures.map(function(f) {return f.asDict();}), |
| reduce_results: this.reduceResults |
| }; |
| } |
| }; |
| |
| JobResults.fromDict = function(jobResultsDict) { |
| var failures = jobResultsDict.failures.map(pi.mre.Failure.fromDict); |
| var reduceResults = jobResultsDict.reduce_results; |
| return new JobResults(failures, reduceResults); |
| }; |
| |
| return { |
| JobResults: JobResults |
| }; |
| }); |
| |
| </script> |