Commit a86cf71f authored by Joon Ahn's avatar Joon Ahn Committed by Commit Bot

Diagnostics: Register individual MANUAL_ tests for debugging.

`browser_tests --gtest_filter=DiagnosticsApp*` to run in a single instance.
`browser_tests --run-manual --gtest_filter=DiagnosticsApp.MANUAL_*`
to run each test on a new instance.

Bug: 1125150
Test: Described above.
Change-Id: Iebef0469550523c2ef588e6ff6816ee2cc54683e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2508792
Commit-Queue: Joon Ahn <joonbug@chromium.org>
Reviewed-by: default avatarZentaro Kavanagh <zentaro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822919}
parent b39389a1
...@@ -23,20 +23,27 @@ import {routineResultEntryTestSuite} from './routine_result_entry_test.js'; ...@@ -23,20 +23,27 @@ import {routineResultEntryTestSuite} from './routine_result_entry_test.js';
import {routineResultListTestSuite} from './routine_result_list_test.js'; import {routineResultListTestSuite} from './routine_result_list_test.js';
import {routineSectionTestSuite} from './routine_section_test.js'; import {routineSectionTestSuite} from './routine_section_test.js';
suite('App', appTestSuite); window.test_suites_list = [];
suite('BatteryStatusCard', batteryStatusCardTestSuite);
suite('CpuCard', cpuCardTestSuite); function runSuite(suiteName, testFn) {
suite('DataPoint', dataPointTestSuite); test_suites_list.push(suiteName);
suite('FakeMethodProvider', fakeMethodResolverTestSuite); suite(suiteName, testFn);
suite('FakeMojoInterface', fakeMojoProviderTestSuite); }
suite('FakeObservables', fakeObservablesTestSuite);
suite('FakeSystemDataProvider', fakeSystemDataProviderTestSuite); runSuite('App', appTestSuite);
suite('FakeSystemRoutineContoller', fakeSystemRoutineContollerTestSuite); runSuite('BatteryStatusCard', batteryStatusCardTestSuite);
suite('MemoryCard', memoryCardTestSuite); runSuite('CpuCard', cpuCardTestSuite);
suite('OverviewCard', overviewCardTestSuite); runSuite('DataPoint', dataPointTestSuite);
suite('PercentBarChart', percentBarChartTestSuite); runSuite('FakeMethodProvider', fakeMethodResolverTestSuite);
suite('RealtimeCpuChart', realtimeCpuChartTestSuite); runSuite('FakeMojoInterface', fakeMojoProviderTestSuite);
suite('RoutineListExecutor', fakeRoutineListExecutorTestSuite); runSuite('FakeObservables', fakeObservablesTestSuite);
suite('RoutineResultEntry', routineResultEntryTestSuite); runSuite('FakeSystemDataProvider', fakeSystemDataProviderTestSuite);
suite('RoutineResultList', routineResultListTestSuite); runSuite('FakeSystemRoutineContoller', fakeSystemRoutineContollerTestSuite);
suite('RoutineSection', routineSectionTestSuite); runSuite('MemoryCard', memoryCardTestSuite);
runSuite('OverviewCard', overviewCardTestSuite);
runSuite('PercentBarChart', percentBarChartTestSuite);
runSuite('RealtimeCpuChart', realtimeCpuChartTestSuite);
runSuite('RoutineListExecutor', fakeRoutineListExecutorTestSuite);
runSuite('RoutineResultEntry', routineResultEntryTestSuite);
runSuite('RoutineResultList', routineResultListTestSuite);
runSuite('RoutineSection', routineSectionTestSuite);
...@@ -4,6 +4,17 @@ ...@@ -4,6 +4,17 @@
/** /**
* @fileoverview Test fixture for chrome://diagnostics. * @fileoverview Test fixture for chrome://diagnostics.
* Unifieid polymer testing suite for diagnostics app.
*
* To run all tests in a single instance (default, faster):
* `browser_tests --gtest_filter=DiagnosticsApp*``
*
* To run each test in a new instance:
* `browser_tests --run-manual --gtest_filter=DiagnosticsApp.MANUAL_*``
*
* To run a single test suite, such as 'CpuCard':
* `browser_tests --run-manual --gtest_filter=DiagnosticsApp.MANUAL_CpuCard`
*
*/ */
GEN_INCLUDE(['//chrome/test/data/webui/polymer_browser_test_base.js']); GEN_INCLUDE(['//chrome/test/data/webui/polymer_browser_test_base.js']);
...@@ -13,7 +24,7 @@ GEN('#include "content/public/test/browser_test.h"'); ...@@ -13,7 +24,7 @@ GEN('#include "content/public/test/browser_test.h"');
const dxTestSuites = 'chromeos/diagnostics/diagnostics_app_unified_test.js'; const dxTestSuites = 'chromeos/diagnostics/diagnostics_app_unified_test.js';
this['DiagnosticsAppTest'] = class extends PolymerTest { this['DiagnosticsApp'] = class extends PolymerTest {
/** @override */ /** @override */
get browsePreload() { get browsePreload() {
return `chrome://diagnostics/test_loader.html?module=${dxTestSuites}`; return `chrome://diagnostics/test_loader.html?module=${dxTestSuites}`;
...@@ -37,6 +48,28 @@ this['DiagnosticsAppTest'] = class extends PolymerTest { ...@@ -37,6 +48,28 @@ this['DiagnosticsAppTest'] = class extends PolymerTest {
} }
}; };
TEST_F('DiagnosticsAppTest', 'All', function() { // List of names of suites in unified test to register for individual debugging.
// You must register all suites in unified test here as well for consistency,
// although technically is not necessary.
const debug_suites_list = [
'App', 'BatteryStatusCard', 'CpuCard', 'DataPoint', 'FakeMethodProvider',
'FakeMojoInterface', 'FakeObservables', 'FakeSystemDataProvider',
'FakeSystemRoutineContoller', 'MemoryCard', 'OverviewCard', 'PercentBarChart',
'RealtimeCpuChart', 'RoutineListExecutor', 'RoutineResultEntry',
'RoutineResultList', 'RoutineSection'
];
TEST_F('DiagnosticsApp', 'BrowserTest', function() {
assertDeepEquals(
debug_suites_list, test_suites_list,
'List of registered tests suites and debug suites do not match.\n' +
'Did you forget to add your test in debug_suites_list?');
mocha.run(); mocha.run();
}); });
\ No newline at end of file
// Register each suite listed as individual tests for debugging purposes.
for (const suiteName of debug_suites_list) {
TEST_F('DiagnosticsApp', `MANUAL_${suiteName}`, function() {
runMochaSuite(suiteName);
});
}
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