diff --git a/spec-main/api-app-spec.ts b/spec-main/api-app-spec.ts index 347dae24d2b79..9af043d5f56a3 100644 --- a/spec-main/api-app-spec.ts +++ b/spec-main/api-app-spec.ts @@ -370,9 +370,11 @@ describe('app module', () => { server!.once('error', error => done(error)); server!.on('connection', client => { client.once('data', data => { - if (String(data) === 'false' && state === 'none') { + if (String(data) === '--first' && state === 'none') { state = 'first-launch'; - } else if (String(data) === 'true' && state === 'first-launch') { + } else if (String(data) === '--second' && state === 'first-launch') { + state = 'second-launch'; + } else if (String(data) === '--third' && state === 'second-launch') { done(); } else { done(`Unexpected state: "${state}", data: "${data}"`); @@ -381,7 +383,7 @@ describe('app module', () => { }); const appPath = path.join(fixturesPath, 'api', 'relaunch'); - const child = cp.spawn(process.execPath, [appPath]); + const child = cp.spawn(process.execPath, [appPath], '--first'); child.stdout.on('data', (c) => console.log(c.toString())); child.stderr.on('data', (c) => console.log(c.toString())); child.on('exit', (code, signal) => { diff --git a/spec/fixtures/api/relaunch/main.js b/spec/fixtures/api/relaunch/main.js index 272c41f4421aa..fe10b09433cb6 100644 --- a/spec/fixtures/api/relaunch/main.js +++ b/spec/fixtures/api/relaunch/main.js @@ -11,11 +11,15 @@ app.whenReady().then(() => { const lastArg = process.argv[process.argv.length - 1]; const client = net.connect(socketPath); client.once('connect', () => { - client.end(String(lastArg === '--second')); + client.end(lastArg); }); client.once('end', () => { - if (lastArg !== '--second') { + if (lastArg === '--first') { + // Once without execPath specified app.relaunch({ args: process.argv.slice(1).concat('--second') }); + } else if (lastArg !== '--second') { + // And once with execPath specified + app.relaunch({ execPath: process.argv[0], args: process.argv.slice(1).concat('--third') }); } app.exit(0); });