Skip to content

Commit 9fb6a61

Browse files
committed
fixup! test: run legacy-cli e2e tests via bazel
fixup: add ChromeHeadlessNoSandbox browser to to karma builder
1 parent 46561d8 commit 9fb6a61

File tree

3 files changed

+18
-67
lines changed

3 files changed

+18
-67
lines changed

packages/angular_devkit/build_angular/src/builders/karma/index.ts

+6
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,12 @@ function getBuiltInKarmaConfig(
222222
logLevel: karma.constants.LOG_INFO,
223223
autoWatch: true,
224224
browsers: ['Chrome'],
225+
customLaunchers: {
226+
ChromeHeadlessNoSandbox: {
227+
base: 'ChromeHeadless',
228+
flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage'],
229+
},
230+
},
225231
restartOnFileChange: true,
226232
};
227233
}

tests/legacy-cli/e2e/assets/13.0-project/karma.conf.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,18 @@ module.exports = function (config) {
3737
colors: true,
3838
logLevel: config.LOG_INFO,
3939
autoWatch: true,
40-
browsers: ['Chrome'],
40+
browsers: ['ChromeHeadlessNoSandbox'],
41+
customLaunchers: {
42+
ChromeHeadlessNoSandbox: {
43+
base: 'ChromeHeadless',
44+
flags: [
45+
'--no-sandbox',
46+
'--headless',
47+
'--disable-gpu',
48+
'--disable-dev-shm-usage',
49+
],
50+
}
51+
},
4152
singleRun: false,
4253
restartOnFileChange: true
4354
});

tests/legacy-cli/e2e/utils/project.ts

-66
Original file line numberDiff line numberDiff line change
@@ -187,45 +187,6 @@ export function useCIDefaults(projectName = 'test-project'): Promise<void> {
187187
});
188188
}
189189

190-
const KARMA_CONF_DEFAULT = `
191-
module.exports = function (config) {
192-
config.set({
193-
basePath: '',
194-
frameworks: ['jasmine', '@angular-devkit/build-angular'],
195-
plugins: [
196-
require('karma-jasmine'),
197-
require('karma-chrome-launcher'),
198-
require('karma-jasmine-html-reporter'),
199-
require('karma-coverage'),
200-
require('@angular-devkit/build-angular/plugins/karma')
201-
],
202-
client: {
203-
jasmine: {},
204-
clearContext: false // leave Jasmine Spec Runner output visible in browser
205-
},
206-
jasmineHtmlReporter: {
207-
suppressAll: true // removes the duplicated traces
208-
},
209-
coverageReporter: {
210-
dir: require('path').join(__dirname, './coverage/$PROJECT_NAME$'),
211-
subdir: '.',
212-
reporters: [
213-
{ type: 'html' },
214-
{ type: 'text-summary' }
215-
]
216-
},
217-
reporters: ['progress', 'kjhtml'],
218-
port: 9876,
219-
colors: true,
220-
logLevel: config.LOG_INFO,
221-
autoWatch: true,
222-
browsers: ['Chrome'],
223-
singleRun: false,
224-
restartOnFileChange: true
225-
});
226-
};
227-
`;
228-
229190
export async function useCIChrome(projectName: string, projectDir = ''): Promise<void> {
230191
const protractorConf = path.join(projectDir, 'protractor.conf.js');
231192
if (fs.existsSync(protractorConf)) {
@@ -245,38 +206,11 @@ export async function useCIChrome(projectName: string, projectDir = ''): Promise
245206
);
246207
}
247208

248-
const karmaConf = path.join(projectDir, 'karma.conf.js');
249-
250-
// Create one with default config if it doesn't exist
251-
if (!fs.existsSync(karmaConf)) {
252-
await writeFile(karmaConf, KARMA_CONF_DEFAULT.replace('$PROJECT_NAME$', projectName));
253-
}
254-
255209
// Update to use the headless sandboxed chrome
256-
await replaceInFile(
257-
karmaConf,
258-
/browsers:.*\]\s*,/,
259-
`
260-
browsers: ['ChromeHeadlessNoSandbox'],
261-
customLaunchers: {
262-
ChromeHeadlessNoSandbox: {
263-
base: 'ChromeHeadless',
264-
flags: [
265-
'--no-sandbox',
266-
'--headless',
267-
'--disable-gpu',
268-
'--disable-dev-shm-usage',
269-
],
270-
}
271-
},
272-
`,
273-
);
274-
275210
return updateJsonFile('angular.json', (workspaceJson) => {
276211
const project = workspaceJson.projects[projectName];
277212
const appTargets = project.targets || project.architect;
278213
appTargets.test.options.browsers = 'ChromeHeadlessNoSandbox';
279-
appTargets.test.options.karmaConfig = karmaConf;
280214
});
281215
}
282216

0 commit comments

Comments
 (0)