chore: apply rebaselines in a task (#33549)
This commit is contained in:
parent
a501232bf0
commit
1b65f26f02
|
@ -19,12 +19,11 @@ import type { FullResult, TestError } from '../../types/testReporter';
|
||||||
import { webServerPluginsForConfig } from '../plugins/webServerPlugin';
|
import { webServerPluginsForConfig } from '../plugins/webServerPlugin';
|
||||||
import { collectFilesForProject, filterProjects } from './projectUtils';
|
import { collectFilesForProject, filterProjects } from './projectUtils';
|
||||||
import { createErrorCollectingReporter, createReporters } from './reporters';
|
import { createErrorCollectingReporter, createReporters } from './reporters';
|
||||||
import { TestRun, createClearCacheTask, createGlobalSetupTasks, createLoadTask, createPluginSetupTasks, createReportBeginTask, createRunTestsTasks, createStartDevServerTask, runTasks } from './tasks';
|
import { TestRun, createApplyRebaselinesTask, createClearCacheTask, createGlobalSetupTasks, createLoadTask, createPluginSetupTasks, createReportBeginTask, createRunTestsTasks, createStartDevServerTask, runTasks } from './tasks';
|
||||||
import type { FullConfigInternal } from '../common/config';
|
import type { FullConfigInternal } from '../common/config';
|
||||||
import { affectedTestFiles } from '../transform/compilationCache';
|
import { affectedTestFiles } from '../transform/compilationCache';
|
||||||
import { InternalReporter } from '../reporters/internalReporter';
|
import { InternalReporter } from '../reporters/internalReporter';
|
||||||
import { LastRunReporter } from './lastRun';
|
import { LastRunReporter } from './lastRun';
|
||||||
import { applySuggestedRebaselines } from './rebase';
|
|
||||||
|
|
||||||
type ProjectConfigWithFiles = {
|
type ProjectConfigWithFiles = {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -83,14 +82,13 @@ export class Runner {
|
||||||
createLoadTask('in-process', { failOnLoadErrors: true, filterOnly: false }),
|
createLoadTask('in-process', { failOnLoadErrors: true, filterOnly: false }),
|
||||||
createReportBeginTask(),
|
createReportBeginTask(),
|
||||||
] : [
|
] : [
|
||||||
|
createApplyRebaselinesTask(),
|
||||||
...createGlobalSetupTasks(config),
|
...createGlobalSetupTasks(config),
|
||||||
createLoadTask('in-process', { filterOnly: true, failOnLoadErrors: true }),
|
createLoadTask('in-process', { filterOnly: true, failOnLoadErrors: true }),
|
||||||
...createRunTestsTasks(config),
|
...createRunTestsTasks(config),
|
||||||
];
|
];
|
||||||
const status = await runTasks(new TestRun(config, reporter), tasks, config.config.globalTimeout);
|
const status = await runTasks(new TestRun(config, reporter), tasks, config.config.globalTimeout);
|
||||||
|
|
||||||
await applySuggestedRebaselines(config, reporter);
|
|
||||||
|
|
||||||
// Calling process.exit() might truncate large stdout/stderr output.
|
// Calling process.exit() might truncate large stdout/stderr output.
|
||||||
// See https://github.com/nodejs/node/issues/6456.
|
// See https://github.com/nodejs/node/issues/6456.
|
||||||
// See https://github.com/nodejs/node/issues/12921
|
// See https://github.com/nodejs/node/issues/12921
|
||||||
|
|
|
@ -34,6 +34,7 @@ import { detectChangedTestFiles } from './vcs';
|
||||||
import type { InternalReporter } from '../reporters/internalReporter';
|
import type { InternalReporter } from '../reporters/internalReporter';
|
||||||
import { cacheDir } from '../transform/compilationCache';
|
import { cacheDir } from '../transform/compilationCache';
|
||||||
import type { FullResult } from '../../types/testReporter';
|
import type { FullResult } from '../../types/testReporter';
|
||||||
|
import { applySuggestedRebaselines } from './rebase';
|
||||||
|
|
||||||
const readDirAsync = promisify(fs.readdir);
|
const readDirAsync = promisify(fs.readdir);
|
||||||
|
|
||||||
|
@ -280,6 +281,15 @@ export function createLoadTask(mode: 'out-of-process' | 'in-process', options: {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function createApplyRebaselinesTask(): Task<TestRun> {
|
||||||
|
return {
|
||||||
|
title: 'apply rebaselines',
|
||||||
|
teardown: async ({ config, reporter }) => {
|
||||||
|
await applySuggestedRebaselines(config, reporter);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function createPhasesTask(): Task<TestRun> {
|
function createPhasesTask(): Task<TestRun> {
|
||||||
return {
|
return {
|
||||||
title: 'create phases',
|
title: 'create phases',
|
||||||
|
|
|
@ -23,7 +23,7 @@ import type * as reporterTypes from '../../types/testReporter';
|
||||||
import { affectedTestFiles, collectAffectedTestFiles, dependenciesForTestFile } from '../transform/compilationCache';
|
import { affectedTestFiles, collectAffectedTestFiles, dependenciesForTestFile } from '../transform/compilationCache';
|
||||||
import type { ConfigLocation, FullConfigInternal } from '../common/config';
|
import type { ConfigLocation, FullConfigInternal } from '../common/config';
|
||||||
import { createErrorCollectingReporter, createReporterForTestServer, createReporters } from './reporters';
|
import { createErrorCollectingReporter, createReporterForTestServer, createReporters } from './reporters';
|
||||||
import { TestRun, runTasks, createLoadTask, createRunTestsTasks, createReportBeginTask, createListFilesTask, runTasksDeferCleanup, createClearCacheTask, createGlobalSetupTasks, createStartDevServerTask } from './tasks';
|
import { TestRun, runTasks, createLoadTask, createRunTestsTasks, createReportBeginTask, createListFilesTask, runTasksDeferCleanup, createClearCacheTask, createGlobalSetupTasks, createStartDevServerTask, createApplyRebaselinesTask } from './tasks';
|
||||||
import { open } from 'playwright-core/lib/utilsBundle';
|
import { open } from 'playwright-core/lib/utilsBundle';
|
||||||
import ListReporter from '../reporters/list';
|
import ListReporter from '../reporters/list';
|
||||||
import { SigIntWatcher } from './sigIntWatcher';
|
import { SigIntWatcher } from './sigIntWatcher';
|
||||||
|
@ -336,6 +336,7 @@ export class TestServerDispatcher implements TestServerInterface {
|
||||||
const reporter = new InternalReporter([...configReporters, wireReporter]);
|
const reporter = new InternalReporter([...configReporters, wireReporter]);
|
||||||
const stop = new ManualPromise();
|
const stop = new ManualPromise();
|
||||||
const tasks = [
|
const tasks = [
|
||||||
|
createApplyRebaselinesTask(),
|
||||||
createLoadTask('out-of-process', { filterOnly: true, failOnLoadErrors: false, doNotRunDepsOutsideProjectFilter: true }),
|
createLoadTask('out-of-process', { filterOnly: true, failOnLoadErrors: false, doNotRunDepsOutsideProjectFilter: true }),
|
||||||
...createRunTestsTasks(config),
|
...createRunTestsTasks(config),
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue