test: run tests under asan on linux-x64 (#23570)
This commit is contained in:
parent
b181dae146
commit
7f8e34fa3f
5 changed files with 112 additions and 50 deletions
|
@ -18,6 +18,8 @@ const features = process._linkedBinding('electron_common_features');
|
|||
|
||||
const fixturesPath = path.resolve(__dirname, '..', 'spec', 'fixtures');
|
||||
|
||||
const isAsan = process.env.IS_ASAN;
|
||||
|
||||
describe('reporting api', () => {
|
||||
// TODO(nornagon): this started failing a lot on CI. Figure out why and fix
|
||||
// it.
|
||||
|
@ -329,17 +331,19 @@ describe('command line switches', () => {
|
|||
// The LC_ALL env should not be set to DOM locale string.
|
||||
expect(lcAll).to.not.equal(app.getLocale());
|
||||
});
|
||||
ifit(process.platform === 'linux')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
|
||||
// TODO(jeremy): figure out why this times out under ASan
|
||||
ifit(process.platform === 'linux' && !process.env.IS_ASAN)('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
|
||||
ifit(process.platform === 'linux')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true));
|
||||
ifit(process.platform === 'linux')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true));
|
||||
});
|
||||
|
||||
describe('--remote-debugging-pipe switch', () => {
|
||||
// TODO(nornagon): figure out why these tests fail under ASan.
|
||||
ifdescribe(!isAsan)('--remote-debugging-pipe switch', () => {
|
||||
it('should expose CDP via pipe', async () => {
|
||||
const electronPath = process.execPath;
|
||||
appProcess = ChildProcess.spawn(electronPath, ['--remote-debugging-pipe'], {
|
||||
stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe']
|
||||
});
|
||||
stdio: ['inherit', 'inherit', 'inherit', 'pipe', 'pipe']
|
||||
}) as ChildProcess.ChildProcessWithoutNullStreams;
|
||||
const stdio = appProcess.stdio as unknown as [NodeJS.ReadableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.ReadableStream];
|
||||
const pipe = new PipeTransport(stdio[3], stdio[4]);
|
||||
const versionPromise = new Promise(resolve => { pipe.onmessage = resolve; });
|
||||
|
@ -352,8 +356,8 @@ describe('command line switches', () => {
|
|||
it('should override --remote-debugging-port switch', async () => {
|
||||
const electronPath = process.execPath;
|
||||
appProcess = ChildProcess.spawn(electronPath, ['--remote-debugging-pipe', '--remote-debugging-port=0'], {
|
||||
stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe']
|
||||
});
|
||||
stdio: ['inherit', 'inherit', 'pipe', 'pipe', 'pipe']
|
||||
}) as ChildProcess.ChildProcessWithoutNullStreams;
|
||||
let stderr = '';
|
||||
appProcess.stderr.on('data', (data: string) => { stderr += data; });
|
||||
const stdio = appProcess.stdio as unknown as [NodeJS.ReadableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.ReadableStream];
|
||||
|
@ -367,8 +371,8 @@ describe('command line switches', () => {
|
|||
it('should shut down Electron upon Browser.close CDP command', async () => {
|
||||
const electronPath = process.execPath;
|
||||
appProcess = ChildProcess.spawn(electronPath, ['--remote-debugging-pipe'], {
|
||||
stdio: ['pipe', 'pipe', 'pipe', 'pipe', 'pipe']
|
||||
});
|
||||
stdio: ['inherit', 'inherit', 'inherit', 'pipe', 'pipe']
|
||||
}) as ChildProcess.ChildProcessWithoutNullStreams;
|
||||
const stdio = appProcess.stdio as unknown as [NodeJS.ReadableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.ReadableStream];
|
||||
const pipe = new PipeTransport(stdio[3], stdio[4]);
|
||||
pipe.send({ id: 1, method: 'Browser.close', params: {} });
|
||||
|
@ -376,13 +380,18 @@ describe('command line switches', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('--remote-debugging-port switch', () => {
|
||||
// TODO(nornagon): figure out why these tests fail under ASan.
|
||||
ifdescribe(!isAsan)('--remote-debugging-port switch', () => {
|
||||
it('should display the discovery page', (done) => {
|
||||
const electronPath = process.execPath;
|
||||
let output = '';
|
||||
appProcess = ChildProcess.spawn(electronPath, ['--remote-debugging-port=']);
|
||||
appProcess.stdout.on('data', (data) => {
|
||||
console.log(data);
|
||||
});
|
||||
|
||||
appProcess.stderr.on('data', (data) => {
|
||||
console.log(data);
|
||||
output += data;
|
||||
const m = /DevTools listening on ws:\/\/127.0.0.1:(\d+)\//.exec(output);
|
||||
if (m) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue