playwright
Advanced tools
Comparing version 1.48.0-alpha-2024-09-11 to 1.48.0-alpha-2024-09-12
@@ -34,3 +34,4 @@ "use strict"; | ||
onTestEnd(test, result) { | ||
if (result.status !== 'skipped' && result.status !== test.expectedStatus) ++this._failureCount; | ||
// Test is considered failing after the last retry. | ||
if (test.outcome() === 'unexpected' && test.results.length > test.retries) ++this._failureCount; | ||
} | ||
@@ -37,0 +38,0 @@ onWorkerError() { |
@@ -7,3 +7,2 @@ "use strict"; | ||
exports.Runner = void 0; | ||
var _utils = require("playwright-core/lib/utils"); | ||
var _webServerPlugin = require("../plugins/webServerPlugin"); | ||
@@ -58,3 +57,2 @@ var _projectUtils = require("./projectUtils"); | ||
const listOnly = config.cliListOnly; | ||
const deadline = config.config.globalTimeout ? (0, _utils.monotonicTime)() + config.config.globalTimeout : 0; | ||
@@ -69,15 +67,10 @@ // Legacy webServer support. | ||
const reporter = new _internalReporter.InternalReporter([...reporters, lastRun]); | ||
const taskRunner = listOnly ? (0, _tasks.createTaskRunnerForList)(config, reporter, 'in-process', { | ||
const tasks = listOnly ? [(0, _tasks.createLoadTask)('in-process', { | ||
failOnLoadErrors: true, | ||
filterOnly: false | ||
}), (0, _tasks.createReportBeginTask)()] : [...(0, _tasks.createGlobalSetupTasks)(config), (0, _tasks.createLoadTask)('in-process', { | ||
filterOnly: true, | ||
failOnLoadErrors: true | ||
}) : (0, _tasks.createTaskRunner)(config, reporter); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const taskStatus = await taskRunner.run(testRun, deadline); | ||
let status = testRun.failureTracker.result(); | ||
if (status === 'passed' && taskStatus !== 'passed') status = taskStatus; | ||
const modifiedResult = await reporter.onEnd({ | ||
status | ||
}); | ||
if (modifiedResult && modifiedResult.status) status = modifiedResult.status; | ||
await reporter.onExit(); | ||
}), ...(0, _tasks.createRunTestsTasks)(config)]; | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), tasks, config.config.globalTimeout); | ||
@@ -94,10 +87,7 @@ // Calling process.exit() might truncate large stdout/stderr output. | ||
const reporter = new _internalReporter.InternalReporter([errorReporter]); | ||
const taskRunner = (0, _tasks.createTaskRunnerForRelatedTestFiles)(this._config, reporter, 'in-process', true); | ||
const testRun = new _tasks.TestRun(this._config); | ||
reporter.onConfigure(this._config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(this._config, reporter), [...(0, _tasks.createPluginSetupTasks)(this._config), (0, _tasks.createLoadTask)('in-process', { | ||
failOnLoadErrors: true, | ||
filterOnly: false, | ||
populateDependencies: true | ||
})]); | ||
if (status !== 'passed') return { | ||
@@ -113,10 +103,9 @@ errors: errorReporter.errors(), | ||
const reporter = new _internalReporter.InternalReporter([(0, _reporters.createErrorCollectingReporter)(true)]); | ||
const taskRunner = (0, _tasks.createTaskRunnerForDevServer)(this._config, reporter, 'in-process', true); | ||
const testRun = new _tasks.TestRun(this._config); | ||
reporter.onConfigure(this._config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(this._config, reporter), [...(0, _tasks.createPluginSetupTasks)(this._config), (0, _tasks.createLoadTask)('in-process', { | ||
failOnLoadErrors: true, | ||
filterOnly: false | ||
}), (0, _tasks.createStartDevServerTask)(), { | ||
title: 'wait until interrupted', | ||
setup: async () => new Promise(() => {}) | ||
}]); | ||
return { | ||
@@ -128,10 +117,3 @@ status | ||
const reporter = new _internalReporter.InternalReporter([(0, _reporters.createErrorCollectingReporter)(true)]); | ||
const taskRunner = (0, _tasks.createTaskRunnerForClearCache)(this._config, reporter, 'in-process', true); | ||
const testRun = new _tasks.TestRun(this._config); | ||
reporter.onConfigure(this._config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(this._config, reporter), [...(0, _tasks.createPluginSetupTasks)(this._config), (0, _tasks.createClearCacheTask)(this._config)]); | ||
return { | ||
@@ -138,0 +120,0 @@ status |
@@ -28,5 +28,2 @@ "use strict"; | ||
class TaskRunner { | ||
static create(reporter, globalTimeoutForError = 0) { | ||
return new TaskRunner(reporter, globalTimeoutForError); | ||
} | ||
constructor(reporter, globalTimeoutForError) { | ||
@@ -42,7 +39,4 @@ this._tasks = []; | ||
} | ||
addTask(name, task) { | ||
this._tasks.push({ | ||
name, | ||
task | ||
}); | ||
addTask(task) { | ||
this._tasks.push(task); | ||
} | ||
@@ -64,9 +58,6 @@ async run(context, deadline, cancelPromise) { | ||
const taskLoop = async () => { | ||
for (const { | ||
name, | ||
task | ||
} of this._tasks) { | ||
currentTaskName = name; | ||
for (const task of this._tasks) { | ||
currentTaskName = task.title; | ||
if (this._interrupted) break; | ||
(0, _utilsBundle.debug)('pw:test:task')(`"${name}" started`); | ||
(0, _utilsBundle.debug)('pw:test:task')(`"${task.title}" started`); | ||
const errors = []; | ||
@@ -77,10 +68,8 @@ const softErrors = []; | ||
teardownRunner._tasks.unshift({ | ||
name: `teardown for ${name}`, | ||
task: { | ||
setup: task.teardown | ||
} | ||
title: `teardown for ${task.title}`, | ||
setup: task.teardown | ||
}); | ||
await ((_task$setup = task.setup) === null || _task$setup === void 0 ? void 0 : _task$setup.call(task, this._reporter, context, errors, softErrors)); | ||
await ((_task$setup = task.setup) === null || _task$setup === void 0 ? void 0 : _task$setup.call(task, context, errors, softErrors)); | ||
} catch (e) { | ||
(0, _utilsBundle.debug)('pw:test:task')(`error in "${name}": `, e); | ||
(0, _utilsBundle.debug)('pw:test:task')(`error in "${task.title}": `, e); | ||
errors.push((0, _util.serializeError)(e)); | ||
@@ -97,3 +86,3 @@ } finally { | ||
} | ||
(0, _utilsBundle.debug)('pw:test:task')(`"${name}" finished`); | ||
(0, _utilsBundle.debug)('pw:test:task')(`"${task.title}" finished`); | ||
} | ||
@@ -100,0 +89,0 @@ }; |
@@ -7,10 +7,12 @@ "use strict"; | ||
exports.TestRun = void 0; | ||
exports.createTaskRunner = createTaskRunner; | ||
exports.createTaskRunnerForClearCache = createTaskRunnerForClearCache; | ||
exports.createTaskRunnerForDevServer = createTaskRunnerForDevServer; | ||
exports.createTaskRunnerForList = createTaskRunnerForList; | ||
exports.createTaskRunnerForListFiles = createTaskRunnerForListFiles; | ||
exports.createTaskRunnerForRelatedTestFiles = createTaskRunnerForRelatedTestFiles; | ||
exports.createTaskRunnerForTestServer = createTaskRunnerForTestServer; | ||
exports.createTaskRunnerForWatchSetup = createTaskRunnerForWatchSetup; | ||
exports.createClearCacheTask = createClearCacheTask; | ||
exports.createGlobalSetupTasks = createGlobalSetupTasks; | ||
exports.createListFilesTask = createListFilesTask; | ||
exports.createLoadTask = createLoadTask; | ||
exports.createPluginSetupTasks = createPluginSetupTasks; | ||
exports.createReportBeginTask = createReportBeginTask; | ||
exports.createRunTestsTasks = createRunTestsTasks; | ||
exports.createStartDevServerTask = createStartDevServerTask; | ||
exports.runTasks = runTasks; | ||
exports.runTasksDeferCleanup = runTasksDeferCleanup; | ||
var _fs = _interopRequireDefault(require("fs")); | ||
@@ -50,4 +52,5 @@ var _path = _interopRequireDefault(require("path")); | ||
class TestRun { | ||
constructor(config) { | ||
constructor(config, reporter) { | ||
this.config = void 0; | ||
this.reporter = void 0; | ||
this.failureTracker = void 0; | ||
@@ -59,2 +62,3 @@ this.rootSuite = undefined; | ||
this.config = config; | ||
this.reporter = reporter; | ||
this.failureTracker = new _failureTracker.FailureTracker(config); | ||
@@ -64,89 +68,45 @@ } | ||
exports.TestRun = TestRun; | ||
function createTaskRunner(config, reporter) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
addGlobalSetupTasks(taskRunner, config); | ||
taskRunner.addTask('load tests', createLoadTask('in-process', { | ||
filterOnly: true, | ||
failOnLoadErrors: true | ||
})); | ||
addRunTasks(taskRunner, config); | ||
return taskRunner; | ||
async function runTasks(testRun, tasks, globalTimeout, cancelPromise) { | ||
const deadline = globalTimeout ? (0, _utils.monotonicTime)() + globalTimeout : 0; | ||
const taskRunner = new _taskRunner.TaskRunner(testRun.reporter, globalTimeout || 0); | ||
for (const task of tasks) taskRunner.addTask(task); | ||
testRun.reporter.onConfigure(testRun.config.config); | ||
const status = await taskRunner.run(testRun, deadline, cancelPromise); | ||
return await finishTaskRun(testRun, status); | ||
} | ||
function createTaskRunnerForWatchSetup(config, reporter) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter); | ||
addGlobalSetupTasks(taskRunner, config); | ||
return taskRunner; | ||
async function runTasksDeferCleanup(testRun, tasks) { | ||
const taskRunner = new _taskRunner.TaskRunner(testRun.reporter, 0); | ||
for (const task of tasks) taskRunner.addTask(task); | ||
testRun.reporter.onConfigure(testRun.config.config); | ||
const { | ||
status, | ||
cleanup | ||
} = await taskRunner.runDeferCleanup(testRun, 0); | ||
return { | ||
status: await finishTaskRun(testRun, status), | ||
cleanup | ||
}; | ||
} | ||
function createTaskRunnerForTestServer(config, reporter) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter); | ||
taskRunner.addTask('load tests', createLoadTask('out-of-process', { | ||
filterOnly: true, | ||
failOnLoadErrors: false, | ||
doNotRunDepsOutsideProjectFilter: true | ||
})); | ||
addRunTasks(taskRunner, config); | ||
return taskRunner; | ||
async function finishTaskRun(testRun, status) { | ||
if (status === 'passed') status = testRun.failureTracker.result(); | ||
const modifiedResult = await testRun.reporter.onEnd({ | ||
status | ||
}); | ||
if (modifiedResult && modifiedResult.status) status = modifiedResult.status; | ||
await testRun.reporter.onExit(); | ||
return status; | ||
} | ||
function addGlobalSetupTasks(taskRunner, config) { | ||
if (!config.configCLIOverrides.preserveOutputDir && !process.env.PW_TEST_NO_REMOVE_OUTPUT_DIRS) taskRunner.addTask('clear output', createRemoveOutputDirsTask()); | ||
for (const plugin of config.plugins) taskRunner.addTask('plugin setup', createPluginSetupTask(plugin)); | ||
if (config.config.globalSetup || config.config.globalTeardown) taskRunner.addTask('global setup', createGlobalSetupTask()); | ||
function createGlobalSetupTasks(config) { | ||
const tasks = []; | ||
if (!config.configCLIOverrides.preserveOutputDir && !process.env.PW_TEST_NO_REMOVE_OUTPUT_DIRS) tasks.push(createRemoveOutputDirsTask()); | ||
tasks.push(...createPluginSetupTasks(config)); | ||
if (config.config.globalSetup || config.config.globalTeardown) tasks.push(createGlobalSetupTask()); | ||
return tasks; | ||
} | ||
function addRunTasks(taskRunner, config) { | ||
taskRunner.addTask('create phases', createPhasesTask()); | ||
taskRunner.addTask('report begin', createReportBeginTask()); | ||
for (const plugin of config.plugins) taskRunner.addTask('plugin begin', createPluginBeginTask(plugin)); | ||
taskRunner.addTask('test suite', createRunTestsTask()); | ||
return taskRunner; | ||
function createRunTestsTasks(config) { | ||
return [createPhasesTask(), createReportBeginTask(), ...config.plugins.map(plugin => createPluginBeginTask(plugin)), createRunTestsTask()]; | ||
} | ||
function createTaskRunnerForList(config, reporter, mode, options) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
taskRunner.addTask('load tests', createLoadTask(mode, { | ||
...options, | ||
filterOnly: false | ||
})); | ||
taskRunner.addTask('report begin', createReportBeginTask()); | ||
return taskRunner; | ||
} | ||
function createTaskRunnerForListFiles(config, reporter) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
taskRunner.addTask('load tests', createListFilesTask()); | ||
taskRunner.addTask('report begin', createReportBeginTask()); | ||
return taskRunner; | ||
} | ||
function createTaskRunnerForDevServer(config, reporter, mode, setupAndWait) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
if (setupAndWait) { | ||
for (const plugin of config.plugins) taskRunner.addTask('plugin setup', createPluginSetupTask(plugin)); | ||
} | ||
taskRunner.addTask('load tests', createLoadTask(mode, { | ||
failOnLoadErrors: true, | ||
filterOnly: false | ||
})); | ||
taskRunner.addTask('start dev server', createStartDevServerTask()); | ||
if (setupAndWait) { | ||
taskRunner.addTask('wait until interrupted', { | ||
setup: async () => new Promise(() => {}) | ||
}); | ||
} | ||
return taskRunner; | ||
} | ||
function createTaskRunnerForRelatedTestFiles(config, reporter, mode, setupPlugins) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
if (setupPlugins) { | ||
for (const plugin of config.plugins) taskRunner.addTask('plugin setup', createPluginSetupTask(plugin)); | ||
} | ||
taskRunner.addTask('load tests', createLoadTask(mode, { | ||
failOnLoadErrors: true, | ||
filterOnly: false, | ||
populateDependencies: true | ||
})); | ||
return taskRunner; | ||
} | ||
function createTaskRunnerForClearCache(config, reporter, mode, setupPlugins) { | ||
const taskRunner = _taskRunner.TaskRunner.create(reporter, config.config.globalTimeout); | ||
if (setupPlugins) { | ||
for (const plugin of config.plugins) taskRunner.addTask('plugin setup', createPluginSetupTask(plugin)); | ||
} | ||
taskRunner.addTask('clear cache', { | ||
function createClearCacheTask(config) { | ||
return { | ||
title: 'clear cache', | ||
setup: async () => { | ||
@@ -159,12 +119,10 @@ await (0, _util2.removeDirAndLogToConsole)(_compilationCache.cacheDir); | ||
} | ||
}); | ||
return taskRunner; | ||
}; | ||
} | ||
function createReportBeginTask() { | ||
return { | ||
setup: async (reporter, { | ||
rootSuite | ||
}) => { | ||
var _reporter$onBegin; | ||
(_reporter$onBegin = reporter.onBegin) === null || _reporter$onBegin === void 0 || _reporter$onBegin.call(reporter, rootSuite); | ||
title: 'report begin', | ||
setup: async testRun => { | ||
var _testRun$reporter$onB, _testRun$reporter; | ||
(_testRun$reporter$onB = (_testRun$reporter = testRun.reporter).onBegin) === null || _testRun$reporter$onB === void 0 || _testRun$reporter$onB.call(_testRun$reporter, testRun.rootSuite); | ||
}, | ||
@@ -174,6 +132,7 @@ teardown: async ({}) => {} | ||
} | ||
function createPluginSetupTask(plugin) { | ||
return { | ||
setup: async (reporter, { | ||
config | ||
function createPluginSetupTasks(config) { | ||
return config.plugins.map(plugin => ({ | ||
title: 'plugin setup', | ||
setup: async ({ | ||
reporter | ||
}) => { | ||
@@ -188,11 +147,10 @@ var _plugin$instance2, _plugin$instance2$set; | ||
} | ||
}; | ||
})); | ||
} | ||
function createPluginBeginTask(plugin) { | ||
return { | ||
setup: async (reporter, { | ||
rootSuite | ||
}) => { | ||
title: 'plugin begin', | ||
setup: async testRun => { | ||
var _plugin$instance4, _plugin$instance4$beg; | ||
await ((_plugin$instance4 = plugin.instance) === null || _plugin$instance4 === void 0 || (_plugin$instance4$beg = _plugin$instance4.begin) === null || _plugin$instance4$beg === void 0 ? void 0 : _plugin$instance4$beg.call(_plugin$instance4, rootSuite)); | ||
await ((_plugin$instance4 = plugin.instance) === null || _plugin$instance4 === void 0 || (_plugin$instance4$beg = _plugin$instance4.begin) === null || _plugin$instance4$beg === void 0 ? void 0 : _plugin$instance4$beg.call(_plugin$instance4, testRun.rootSuite)); | ||
}, | ||
@@ -210,3 +168,4 @@ teardown: async () => { | ||
return { | ||
setup: async (reporter, { | ||
title: 'global setup', | ||
setup: async ({ | ||
config | ||
@@ -219,3 +178,3 @@ }) => { | ||
}, | ||
teardown: async (reporter, { | ||
teardown: async ({ | ||
config | ||
@@ -231,3 +190,4 @@ }) => { | ||
return { | ||
setup: async (reporter, { | ||
title: 'clear output', | ||
setup: async ({ | ||
config | ||
@@ -255,3 +215,4 @@ }) => { | ||
return { | ||
setup: async (reporter, testRun, errors) => { | ||
title: 'load tests', | ||
setup: async (testRun, errors) => { | ||
testRun.rootSuite = await (0, _loadUtils.createRootSuite)(testRun, errors, false); | ||
@@ -282,3 +243,4 @@ testRun.failureTracker.onRootSuite(testRun.rootSuite); | ||
return { | ||
setup: async (reporter, testRun, errors, softErrors) => { | ||
title: 'load tests', | ||
setup: async (testRun, errors, softErrors) => { | ||
await (0, _loadUtils.collectProjectsAndTestFiles)(testRun, !!options.doNotRunDepsOutsideProjectFilter); | ||
@@ -311,3 +273,4 @@ await (0, _loadUtils.loadFileSuites)(testRun, mode, options.failOnLoadErrors ? errors : softErrors); | ||
return { | ||
setup: async (reporter, testRun) => { | ||
title: 'create phases', | ||
setup: async testRun => { | ||
let maxConcurrentTestGroups = 0; | ||
@@ -339,3 +302,3 @@ const processed = new Set(); | ||
const phase = { | ||
dispatcher: new _dispatcher.Dispatcher(testRun.config, reporter, testRun.failureTracker), | ||
dispatcher: new _dispatcher.Dispatcher(testRun.config, testRun.reporter, testRun.failureTracker), | ||
projects: [] | ||
@@ -364,3 +327,4 @@ }; | ||
return { | ||
setup: async (reporter, { | ||
title: 'test suite', | ||
setup: async ({ | ||
phases, | ||
@@ -423,3 +387,3 @@ failureTracker | ||
}, | ||
teardown: async (reporter, { | ||
teardown: async ({ | ||
phases | ||
@@ -435,4 +399,7 @@ }) => { | ||
return { | ||
setup: async (reporter, testRun, errors, softErrors) => { | ||
if (testRun.config.plugins.some(plugin => !!plugin.devServerCleanup)) { | ||
title: 'start dev server', | ||
setup: async ({ | ||
config | ||
}, errors, softErrors) => { | ||
if (config.plugins.some(plugin => !!plugin.devServerCleanup)) { | ||
errors.push({ | ||
@@ -443,12 +410,14 @@ message: `DevServer is already running` | ||
} | ||
for (const plugin of testRun.config.plugins) { | ||
for (const plugin of config.plugins) { | ||
var _plugin$instance7, _plugin$instance7$sta; | ||
plugin.devServerCleanup = await ((_plugin$instance7 = plugin.instance) === null || _plugin$instance7 === void 0 || (_plugin$instance7$sta = _plugin$instance7.startDevServer) === null || _plugin$instance7$sta === void 0 ? void 0 : _plugin$instance7$sta.call(_plugin$instance7)); | ||
} | ||
if (!testRun.config.plugins.some(plugin => !!plugin.devServerCleanup)) errors.push({ | ||
if (!config.plugins.some(plugin => !!plugin.devServerCleanup)) errors.push({ | ||
message: `DevServer is not available in the package you are using. Did you mean to use component testing?` | ||
}); | ||
}, | ||
teardown: async (reporter, testRun) => { | ||
for (const plugin of testRun.config.plugins) { | ||
teardown: async ({ | ||
config | ||
}) => { | ||
for (const plugin of config.plugins) { | ||
var _plugin$devServerClea; | ||
@@ -455,0 +424,0 @@ await ((_plugin$devServerClea = plugin.devServerCleanup) === null || _plugin$devServerClea === void 0 ? void 0 : _plugin$devServerClea.call(plugin)); |
@@ -152,22 +152,8 @@ "use strict"; | ||
}; | ||
const taskRunner = (0, _tasks.createTaskRunnerForWatchSetup)(config, reporter); | ||
reporter.onConfigure(config.config); | ||
const testRun = new _tasks.TestRun(config); | ||
const { | ||
status, | ||
cleanup: globalCleanup | ||
} = await taskRunner.runDeferCleanup(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
if (status !== 'passed') { | ||
await globalCleanup(); | ||
return { | ||
report, | ||
status | ||
}; | ||
} | ||
this._globalSetup = { | ||
cleanup: globalCleanup, | ||
cleanup | ||
} = await (0, _tasks.runTasksDeferCleanup)(new _tasks.TestRun(config, reporter), [...(0, _tasks.createGlobalSetupTasks)(config)]); | ||
if (status !== 'passed') await cleanup();else this._globalSetup = { | ||
cleanup, | ||
report | ||
@@ -200,21 +186,10 @@ }; | ||
}; | ||
const taskRunner = (0, _tasks.createTaskRunnerForDevServer)(config, reporter, 'out-of-process', false); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const { | ||
status, | ||
cleanup | ||
} = await taskRunner.runDeferCleanup(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
if (status !== 'passed') { | ||
await cleanup(); | ||
return { | ||
report, | ||
status | ||
}; | ||
} | ||
this._devServer = { | ||
} = await (0, _tasks.runTasksDeferCleanup)(new _tasks.TestRun(config, reporter), [(0, _tasks.createLoadTask)('out-of-process', { | ||
failOnLoadErrors: true, | ||
filterOnly: false | ||
}), (0, _tasks.createStartDevServerTask)()]); | ||
if (status !== 'passed') await cleanup();else this._devServer = { | ||
cleanup, | ||
@@ -241,10 +216,3 @@ report | ||
if (!config) return; | ||
const taskRunner = (0, _tasks.createTaskRunnerForClearCache)(config, reporter, 'out-of-process', false); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
await (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), [(0, _tasks.createClearCacheTask)(config)]); | ||
} | ||
@@ -263,10 +231,3 @@ async listFiles(params) { | ||
config.cliProjectFilter = (_params$projects = params.projects) !== null && _params$projects !== void 0 && _params$projects.length ? params.projects : undefined; | ||
const taskRunner = (0, _tasks.createTaskRunnerForListFiles)(config, reporter); | ||
reporter.onConfigure(config.config); | ||
const testRun = new _tasks.TestRun(config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), [(0, _tasks.createListFilesTask)(), (0, _tasks.createReportBeginTask)()]); | ||
return { | ||
@@ -316,12 +277,6 @@ report, | ||
config.cliListOnly = true; | ||
const taskRunner = (0, _tasks.createTaskRunnerForList)(config, reporter, 'out-of-process', { | ||
failOnLoadErrors: false | ||
}); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), [(0, _tasks.createLoadTask)('out-of-process', { | ||
failOnLoadErrors: false, | ||
filterOnly: false | ||
}), (0, _tasks.createReportBeginTask)()]); | ||
return { | ||
@@ -408,11 +363,9 @@ config, | ||
const reporter = new _internalReporter.InternalReporter([...configReporters, wireReporter]); | ||
const taskRunner = (0, _tasks.createTaskRunnerForTestServer)(config, reporter); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const stop = new _utils.ManualPromise(); | ||
const run = taskRunner.run(testRun, 0, stop).then(async status => { | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const tasks = [(0, _tasks.createLoadTask)('out-of-process', { | ||
filterOnly: true, | ||
failOnLoadErrors: false, | ||
doNotRunDepsOutsideProjectFilter: true | ||
}), ...(0, _tasks.createRunTestsTasks)(config)]; | ||
const run = (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), tasks, 0, stop).then(async status => { | ||
this._testRun = undefined; | ||
@@ -445,10 +398,7 @@ return status; | ||
}; | ||
const taskRunner = (0, _tasks.createTaskRunnerForRelatedTestFiles)(config, reporter, 'out-of-process', false); | ||
const testRun = new _tasks.TestRun(config); | ||
reporter.onConfigure(config.config); | ||
const status = await taskRunner.run(testRun, 0); | ||
await reporter.onEnd({ | ||
status | ||
}); | ||
await reporter.onExit(); | ||
const status = await (0, _tasks.runTasks)(new _tasks.TestRun(config, reporter), [(0, _tasks.createLoadTask)('out-of-process', { | ||
failOnLoadErrors: true, | ||
filterOnly: false, | ||
populateDependencies: true | ||
})]); | ||
if (status !== 'passed') return { | ||
@@ -455,0 +405,0 @@ errors: errorReporter.errors(), |
{ | ||
"name": "playwright", | ||
"version": "1.48.0-alpha-2024-09-11", | ||
"version": "1.48.0-alpha-2024-09-12", | ||
"description": "A high-level API to automate web browsers", | ||
@@ -59,3 +59,3 @@ "repository": { | ||
"dependencies": { | ||
"playwright-core": "1.48.0-alpha-2024-09-11" | ||
"playwright-core": "1.48.0-alpha-2024-09-12" | ||
}, | ||
@@ -62,0 +62,0 @@ "optionalDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3080352
34197
+ Addedplaywright-core@1.48.0-alpha-2024-09-12(transitive)
- Removedplaywright-core@1.48.0-alpha-2024-09-11(transitive)