mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-12 00:59:23 +00:00
[js/webgpu] use Headless for webgpu test by default (#19702)
### Description use Chromium Headless for webgpu test by default. Still use normal Chromium with window when debug=true or perfMode=true. Use the [`--headless=new`](https://developer.chrome.com/docs/chromium/new-headless) mode. ### Motivation and Context try to use a more stable way to launch npm tests to avoid a "chrome not found" issue in pipeline, which may potentially caused by windowed application.
This commit is contained in:
parent
a93c31e3c9
commit
e30618d055
2 changed files with 9 additions and 24 deletions
|
|
@ -86,11 +86,11 @@ module.exports = function(config) {
|
|||
hostname,
|
||||
listenAddress,
|
||||
customLaunchers: {
|
||||
// the following flags are used to make sure Edge on CI agents to initialize WebGPU correctly.
|
||||
// Chromium-based browsers
|
||||
EdgeTest: {base: 'Edge', flags: chromiumFlags},
|
||||
ChromeTest: {base: 'Chrome', flags: chromiumFlags},
|
||||
ChromeTestHeadless: {base: 'ChromeHeadless', flags: chromiumFlags},
|
||||
ChromeCanaryTest: {base: 'ChromeCanary', flags: chromiumFlags},
|
||||
|
||||
//
|
||||
// ==== BrowserStack browsers ====
|
||||
//
|
||||
|
|
|
|||
|
|
@ -542,14 +542,13 @@ async function main() {
|
|||
npmlog.info('TestRunnerCli.Run', '(4/4) Running karma to start test runner...');
|
||||
const webgpu = args.backends.indexOf('webgpu') > -1;
|
||||
const webnn = args.backends.indexOf('webnn') > -1;
|
||||
const browser = getBrowserNameFromEnv(
|
||||
args.env,
|
||||
args.bundleMode === 'perf' ? 'perf' :
|
||||
args.debug ? 'debug' :
|
||||
'test',
|
||||
webgpu);
|
||||
const browser = getBrowserNameFromEnv(args.env);
|
||||
const karmaArgs = ['karma', 'start', `--browsers ${browser}`];
|
||||
const chromiumFlags = ['--enable-features=SharedArrayBuffer', ...args.chromiumFlags];
|
||||
if (args.bundleMode === 'dev' && !args.debug) {
|
||||
// use headless for 'test' mode (when 'perf' and 'debug' are OFF)
|
||||
chromiumFlags.push('--headless=new');
|
||||
}
|
||||
if (args.debug) {
|
||||
karmaArgs.push('--log-level info --timeout-mocha 9999999');
|
||||
chromiumFlags.push('--remote-debugging-port=9333');
|
||||
|
|
@ -662,10 +661,10 @@ async function main() {
|
|||
fs.writeJSONSync(path.join(TEST_ROOT, './testdata-config.json'), config);
|
||||
}
|
||||
|
||||
function getBrowserNameFromEnv(env: TestRunnerCliArgs['env'], mode: 'debug'|'perf'|'test', webgpu: boolean) {
|
||||
function getBrowserNameFromEnv(env: TestRunnerCliArgs['env']) {
|
||||
switch (env) {
|
||||
case 'chrome':
|
||||
return selectChromeBrowser(mode, webgpu);
|
||||
return 'ChromeTest';
|
||||
case 'edge':
|
||||
return 'EdgeTest';
|
||||
case 'firefox':
|
||||
|
|
@ -680,20 +679,6 @@ async function main() {
|
|||
throw new Error(`env "${env}" not supported.`);
|
||||
}
|
||||
}
|
||||
|
||||
function selectChromeBrowser(mode: 'debug'|'perf'|'test', webgpu: boolean) {
|
||||
if (webgpu) {
|
||||
return 'ChromeTest';
|
||||
} else {
|
||||
switch (mode) {
|
||||
case 'debug':
|
||||
case 'perf':
|
||||
return 'ChromeTest';
|
||||
default:
|
||||
return 'ChromeTestHeadless';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void main();
|
||||
|
|
|
|||
Loading…
Reference in a new issue