Commit 75213bb5 authored by Michael Checo's avatar Michael Checo Committed by Chromium LUCI CQ

Diagnostics: Accept progress in ResultStatusItem constructor

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp*
Change-Id: I53ad5058338326c796b35d2141f2051d683aa149
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2616742Reviewed-by: default avatarJoon Ahn <joonbug@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Commit-Queue: Michael Checo <michaelcheco@google.com>
Cr-Commit-Position: refs/heads/master@{#845414}
parent 32a52053
......@@ -61,13 +61,12 @@ export function fakeRoutineListExecutorTestSuite() {
routineTypes.push(routine.type);
// Add the "running" callback to the list.
let status = new ResultStatusItem(routine.type);
status.progress = ExecutionProgress.kRunning;
let status =
new ResultStatusItem(routine.type, ExecutionProgress.kRunning);
expectedCallbacks.push(status);
// Add the "completed" callback to the list.
status = new ResultStatusItem(routine.type);
status.progress = ExecutionProgress.kCompleted;
status = new ResultStatusItem(routine.type, ExecutionProgress.kCompleted);
status.result = routine.result;
expectedCallbacks.push(status);
});
......
......@@ -62,18 +62,6 @@ export function routineResultEntryTestSuite() {
});
}
/**
* Creates a result status item without a final result.
* @param {!RoutineType} routine
* @param {!ExecutionProgress} progress
* @return {!ResultStatusItem}
*/
function createIncompleteStatus(routine, progress) {
let status = new ResultStatusItem(routine);
status.progress = progress;
return status;
}
/**
* Creates a completed result status item with a result.
* @param {!RoutineType} routine
......@@ -81,7 +69,7 @@ export function routineResultEntryTestSuite() {
* @return {!ResultStatusItem}
*/
function createCompletedStatus(routine, result) {
let status = createIncompleteStatus(routine, ExecutionProgress.kCompleted);
let status = new ResultStatusItem(routine, ExecutionProgress.kCompleted);
status.result = result;
return status;
}
......@@ -116,9 +104,8 @@ export function routineResultEntryTestSuite() {
});
test('NotStartedTest', () => {
const item = createIncompleteStatus(
chromeos.diagnostics.mojom.RoutineType.kCpuStress,
ExecutionProgress.kNotStarted);
const item =
new ResultStatusItem(chromeos.diagnostics.mojom.RoutineType.kCpuStress);
return initializeEntryWithItem(item).then(() => {
assertEquals(
getNameText(),
......@@ -136,7 +123,7 @@ export function routineResultEntryTestSuite() {
});
test('RunningTest', () => {
const item = createIncompleteStatus(
const item = new ResultStatusItem(
chromeos.diagnostics.mojom.RoutineType.kCpuStress,
ExecutionProgress.kRunning);
return initializeEntryWithItem(item).then(() => {
......@@ -195,7 +182,7 @@ export function routineResultEntryTestSuite() {
});
test('StoppedTest', () => {
const item = createIncompleteStatus(
const item = new ResultStatusItem(
chromeos.diagnostics.mojom.RoutineType.kCpuStress,
ExecutionProgress.kCancelled);
return initializeEntryWithItem(item).then(() => {
......
......@@ -106,7 +106,6 @@ export function routineResultListTestSuite() {
getEntries().forEach((entry, index) => {
// Routines are initialized in the unstarted state.
let status = new ResultStatusItem(routines[index]);
status.progress = ExecutionProgress.kNotStarted;
assertDeepEquals(status, entry.item);
});
});
......@@ -143,12 +142,11 @@ export function routineResultListTestSuite() {
getEntries().forEach((entry, index) => {
// Routines are initialized in the unstarted state.
let status = new ResultStatusItem(routines[index]);
status.progress = ExecutionProgress.kNotStarted;
assertDeepEquals(status, entry.item);
});
let status = new ResultStatusItem(routines[0]);
status.progress = ExecutionProgress.kRunning;
let status =
new ResultStatusItem(routines[0], ExecutionProgress.kRunning);
routineResultListElement.onStatusUpdate(status);
return flushTasks()
.then(() => {
......@@ -158,8 +156,8 @@ export function routineResultListTestSuite() {
assertEquals(null, getEntries()[0].item.result);
// Move the first routine to completed state.
status = new ResultStatusItem(routines[0]);
status.progress = ExecutionProgress.kCompleted;
status =
new ResultStatusItem(routines[0], ExecutionProgress.kCompleted);
status.result = /** @type {!RoutineResult} */ ({
simpleResult:
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed
......@@ -177,8 +175,8 @@ export function routineResultListTestSuite() {
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed,
getEntries()[0].item.result.simpleResult);
status = new ResultStatusItem(routines[1]);
status.progress = ExecutionProgress.kRunning;
status =
new ResultStatusItem(routines[1], ExecutionProgress.kRunning);
routineResultListElement.onStatusUpdate(status);
return flushTasks();
......@@ -190,8 +188,8 @@ export function routineResultListTestSuite() {
assertEquals(null, getEntries()[1].item.result);
// Move the second routine to completed state.
status = new ResultStatusItem(routines[1]);
status.progress = ExecutionProgress.kCompleted;
status =
new ResultStatusItem(routines[1], ExecutionProgress.kCompleted);
status.result = /** @type {!RoutineResult} */ ({
simpleResult:
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed
......
......@@ -23,12 +23,12 @@ export let ExecutionProgress = {
* routine-result-list.
*/
export class ResultStatusItem {
constructor(routine) {
constructor(routine, progress = ExecutionProgress.kNotStarted) {
/** @type {!RoutineType} */
this.routine = routine;
/** @type {!ExecutionProgress} */
this.progress = ExecutionProgress.kNotStarted;
this.progress = progress;
/** @type {?RoutineResult} */
this.result = null;
......@@ -107,9 +107,7 @@ export class RoutineListExecutor {
routines.forEach((name) => {
promise = promise.then(() => {
// Notify the status callback that a test started running.
const status = new ResultStatusItem(name);
status.progress = ExecutionProgress.kRunning;
statusCallback(status);
statusCallback(new ResultStatusItem(name, ExecutionProgress.kRunning));
this.currentExecutionContext_ = new ExecutionContext();
// Create a new remote and execute the next test.
......@@ -122,8 +120,8 @@ export class RoutineListExecutor {
// result.
return this.currentExecutionContext_.whenComplete().then((info) => {
assert(info.type === name);
const status = new ResultStatusItem(name);
status.progress = ExecutionProgress.kCompleted;
const status =
new ResultStatusItem(name, ExecutionProgress.kCompleted);
status.result = info.result;
statusCallback(status);
});
......
......@@ -9,7 +9,7 @@ import './routine_result_entry.js';
import {assert} from 'chrome://resources/js/assert.m.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {RoutineType} from './diagnostics_types.js';
import {ResultStatusItem} from './routine_list_executor.js'
import {ExecutionProgress, ResultStatusItem} from './routine_list_executor.js'
/**
* @fileoverview
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment