From 9cf4e3721a987ac4c328ff1a7173074a50ea4ca5 Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Fri, 18 Nov 2022 03:29:08 -0800 Subject: [PATCH] fixup! test: run legacy-cli e2e tests via bazel fixup: add ChromeHeadlessNoSandbox browser to to karma builder --- .../build_angular/src/builders/karma/index.ts | 6 +++++ tests/legacy-cli/e2e/utils/project.ts | 27 ------------------- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts index 50da6fe0f24c..ca105f161f96 100644 --- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts +++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts @@ -222,6 +222,12 @@ function getBuiltInKarmaConfig( logLevel: karma.constants.LOG_INFO, autoWatch: true, browsers: ['Chrome'], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: 'ChromeHeadless', + flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'], + }, + }, restartOnFileChange: true, }; } diff --git a/tests/legacy-cli/e2e/utils/project.ts b/tests/legacy-cli/e2e/utils/project.ts index 791bb3e07f6a..08e4238a7041 100644 --- a/tests/legacy-cli/e2e/utils/project.ts +++ b/tests/legacy-cli/e2e/utils/project.ts @@ -245,38 +245,11 @@ export async function useCIChrome(projectName: string, projectDir = ''): Promise ); } - const karmaConf = path.join(projectDir, 'karma.conf.js'); - - // Create one with default config if it doesn't exist - if (!fs.existsSync(karmaConf)) { - await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName)); - } - // Update to use the headless sandboxed chrome - await replaceInFile( - karmaConf, - /browsers:.*\]\s*,/, - ` - browsers: ['ChromeHeadlessNoSandbox'], - customLaunchers: { - ChromeHeadlessNoSandbox: { - base: 'ChromeHeadless', - flags: [ - '--no-sandbox', - '--headless', - '--disable-gpu', - '--disable-dev-shm-usage', - ], - } - }, - `, - ); - return updateJsonFile('angular.json', (workspaceJson) => { const project = workspaceJson.projects[projectName]; const appTargets = project.targets || project.architect; appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox'; - appTargets.test.options.karmaConfig = karmaConf; }); }