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() { ...@@ -61,13 +61,12 @@ export function fakeRoutineListExecutorTestSuite() {
routineTypes.push(routine.type); routineTypes.push(routine.type);
// Add the "running" callback to the list. // Add the "running" callback to the list.
let status = new ResultStatusItem(routine.type); let status =
status.progress = ExecutionProgress.kRunning; new ResultStatusItem(routine.type, ExecutionProgress.kRunning);
expectedCallbacks.push(status); expectedCallbacks.push(status);
// Add the "completed" callback to the list. // Add the "completed" callback to the list.
status = new ResultStatusItem(routine.type); status = new ResultStatusItem(routine.type, ExecutionProgress.kCompleted);
status.progress = ExecutionProgress.kCompleted;
status.result = routine.result; status.result = routine.result;
expectedCallbacks.push(status); expectedCallbacks.push(status);
}); });
......
...@@ -62,18 +62,6 @@ export function routineResultEntryTestSuite() { ...@@ -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. * Creates a completed result status item with a result.
* @param {!RoutineType} routine * @param {!RoutineType} routine
...@@ -81,7 +69,7 @@ export function routineResultEntryTestSuite() { ...@@ -81,7 +69,7 @@ export function routineResultEntryTestSuite() {
* @return {!ResultStatusItem} * @return {!ResultStatusItem}
*/ */
function createCompletedStatus(routine, result) { function createCompletedStatus(routine, result) {
let status = createIncompleteStatus(routine, ExecutionProgress.kCompleted); let status = new ResultStatusItem(routine, ExecutionProgress.kCompleted);
status.result = result; status.result = result;
return status; return status;
} }
...@@ -116,9 +104,8 @@ export function routineResultEntryTestSuite() { ...@@ -116,9 +104,8 @@ export function routineResultEntryTestSuite() {
}); });
test('NotStartedTest', () => { test('NotStartedTest', () => {
const item = createIncompleteStatus( const item =
chromeos.diagnostics.mojom.RoutineType.kCpuStress, new ResultStatusItem(chromeos.diagnostics.mojom.RoutineType.kCpuStress);
ExecutionProgress.kNotStarted);
return initializeEntryWithItem(item).then(() => { return initializeEntryWithItem(item).then(() => {
assertEquals( assertEquals(
getNameText(), getNameText(),
...@@ -136,7 +123,7 @@ export function routineResultEntryTestSuite() { ...@@ -136,7 +123,7 @@ export function routineResultEntryTestSuite() {
}); });
test('RunningTest', () => { test('RunningTest', () => {
const item = createIncompleteStatus( const item = new ResultStatusItem(
chromeos.diagnostics.mojom.RoutineType.kCpuStress, chromeos.diagnostics.mojom.RoutineType.kCpuStress,
ExecutionProgress.kRunning); ExecutionProgress.kRunning);
return initializeEntryWithItem(item).then(() => { return initializeEntryWithItem(item).then(() => {
...@@ -195,7 +182,7 @@ export function routineResultEntryTestSuite() { ...@@ -195,7 +182,7 @@ export function routineResultEntryTestSuite() {
}); });
test('StoppedTest', () => { test('StoppedTest', () => {
const item = createIncompleteStatus( const item = new ResultStatusItem(
chromeos.diagnostics.mojom.RoutineType.kCpuStress, chromeos.diagnostics.mojom.RoutineType.kCpuStress,
ExecutionProgress.kCancelled); ExecutionProgress.kCancelled);
return initializeEntryWithItem(item).then(() => { return initializeEntryWithItem(item).then(() => {
......
...@@ -106,7 +106,6 @@ export function routineResultListTestSuite() { ...@@ -106,7 +106,6 @@ export function routineResultListTestSuite() {
getEntries().forEach((entry, index) => { getEntries().forEach((entry, index) => {
// Routines are initialized in the unstarted state. // Routines are initialized in the unstarted state.
let status = new ResultStatusItem(routines[index]); let status = new ResultStatusItem(routines[index]);
status.progress = ExecutionProgress.kNotStarted;
assertDeepEquals(status, entry.item); assertDeepEquals(status, entry.item);
}); });
}); });
...@@ -143,12 +142,11 @@ export function routineResultListTestSuite() { ...@@ -143,12 +142,11 @@ export function routineResultListTestSuite() {
getEntries().forEach((entry, index) => { getEntries().forEach((entry, index) => {
// Routines are initialized in the unstarted state. // Routines are initialized in the unstarted state.
let status = new ResultStatusItem(routines[index]); let status = new ResultStatusItem(routines[index]);
status.progress = ExecutionProgress.kNotStarted;
assertDeepEquals(status, entry.item); assertDeepEquals(status, entry.item);
}); });
let status = new ResultStatusItem(routines[0]); let status =
status.progress = ExecutionProgress.kRunning; new ResultStatusItem(routines[0], ExecutionProgress.kRunning);
routineResultListElement.onStatusUpdate(status); routineResultListElement.onStatusUpdate(status);
return flushTasks() return flushTasks()
.then(() => { .then(() => {
...@@ -158,8 +156,8 @@ export function routineResultListTestSuite() { ...@@ -158,8 +156,8 @@ export function routineResultListTestSuite() {
assertEquals(null, getEntries()[0].item.result); assertEquals(null, getEntries()[0].item.result);
// Move the first routine to completed state. // Move the first routine to completed state.
status = new ResultStatusItem(routines[0]); status =
status.progress = ExecutionProgress.kCompleted; new ResultStatusItem(routines[0], ExecutionProgress.kCompleted);
status.result = /** @type {!RoutineResult} */ ({ status.result = /** @type {!RoutineResult} */ ({
simpleResult: simpleResult:
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed
...@@ -177,8 +175,8 @@ export function routineResultListTestSuite() { ...@@ -177,8 +175,8 @@ export function routineResultListTestSuite() {
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed, chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed,
getEntries()[0].item.result.simpleResult); getEntries()[0].item.result.simpleResult);
status = new ResultStatusItem(routines[1]); status =
status.progress = ExecutionProgress.kRunning; new ResultStatusItem(routines[1], ExecutionProgress.kRunning);
routineResultListElement.onStatusUpdate(status); routineResultListElement.onStatusUpdate(status);
return flushTasks(); return flushTasks();
...@@ -190,8 +188,8 @@ export function routineResultListTestSuite() { ...@@ -190,8 +188,8 @@ export function routineResultListTestSuite() {
assertEquals(null, getEntries()[1].item.result); assertEquals(null, getEntries()[1].item.result);
// Move the second routine to completed state. // Move the second routine to completed state.
status = new ResultStatusItem(routines[1]); status =
status.progress = ExecutionProgress.kCompleted; new ResultStatusItem(routines[1], ExecutionProgress.kCompleted);
status.result = /** @type {!RoutineResult} */ ({ status.result = /** @type {!RoutineResult} */ ({
simpleResult: simpleResult:
chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed chromeos.diagnostics.mojom.StandardRoutineResult.kTestPassed
......
...@@ -23,12 +23,12 @@ export let ExecutionProgress = { ...@@ -23,12 +23,12 @@ export let ExecutionProgress = {
* routine-result-list. * routine-result-list.
*/ */
export class ResultStatusItem { export class ResultStatusItem {
constructor(routine) { constructor(routine, progress = ExecutionProgress.kNotStarted) {
/** @type {!RoutineType} */ /** @type {!RoutineType} */
this.routine = routine; this.routine = routine;
/** @type {!ExecutionProgress} */ /** @type {!ExecutionProgress} */
this.progress = ExecutionProgress.kNotStarted; this.progress = progress;
/** @type {?RoutineResult} */ /** @type {?RoutineResult} */
this.result = null; this.result = null;
...@@ -107,9 +107,7 @@ export class RoutineListExecutor { ...@@ -107,9 +107,7 @@ export class RoutineListExecutor {
routines.forEach((name) => { routines.forEach((name) => {
promise = promise.then(() => { promise = promise.then(() => {
// Notify the status callback that a test started running. // Notify the status callback that a test started running.
const status = new ResultStatusItem(name); statusCallback(new ResultStatusItem(name, ExecutionProgress.kRunning));
status.progress = ExecutionProgress.kRunning;
statusCallback(status);
this.currentExecutionContext_ = new ExecutionContext(); this.currentExecutionContext_ = new ExecutionContext();
// Create a new remote and execute the next test. // Create a new remote and execute the next test.
...@@ -122,8 +120,8 @@ export class RoutineListExecutor { ...@@ -122,8 +120,8 @@ export class RoutineListExecutor {
// result. // result.
return this.currentExecutionContext_.whenComplete().then((info) => { return this.currentExecutionContext_.whenComplete().then((info) => {
assert(info.type === name); assert(info.type === name);
const status = new ResultStatusItem(name); const status =
status.progress = ExecutionProgress.kCompleted; new ResultStatusItem(name, ExecutionProgress.kCompleted);
status.result = info.result; status.result = info.result;
statusCallback(status); statusCallback(status);
}); });
......
...@@ -9,7 +9,7 @@ import './routine_result_entry.js'; ...@@ -9,7 +9,7 @@ import './routine_result_entry.js';
import {assert} from 'chrome://resources/js/assert.m.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 {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {RoutineType} from './diagnostics_types.js'; import {RoutineType} from './diagnostics_types.js';
import {ResultStatusItem} from './routine_list_executor.js' import {ExecutionProgress, ResultStatusItem} from './routine_list_executor.js'
/** /**
* @fileoverview * @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