diff --git a/spec/api-crash-reporter-spec.ts b/spec/api-crash-reporter-spec.ts index bc7afe2cddf8..a27da8d7e541 100644 --- a/spec/api-crash-reporter-spec.ts +++ b/spec/api-crash-reporter-spec.ts @@ -5,7 +5,6 @@ import * as Busboy from 'busboy'; import * as path from 'node:path'; import { ifdescribe, ifit, defer, startRemoteControlApp, repeatedly, listen } from './lib/spec-helpers'; import { app } from 'electron/main'; -import { crashReporter } from 'electron/common'; import { EventEmitter } from 'node:events'; import * as fs from 'node:fs'; import * as uuid from 'uuid'; @@ -583,16 +582,20 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.env.DISABLE_CRASH_REPORTER_ }); describe('start() option validation', () => { - it('requires that the submitURL option be specified', () => { - expect(() => { + it('requires that the submitURL option be specified', async () => { + const { remotely } = await startRemoteControlApp(); + await expect(remotely(() => { + const { crashReporter } = require('electron'); crashReporter.start({} as any); - }).to.throw('submitURL must be specified when uploadToServer is true'); + })).to.be.rejectedWith('submitURL must be specified when uploadToServer is true'); }); - it('allows the submitURL option to be omitted when uploadToServer is false', () => { - expect(() => { + it('allows the submitURL option to be omitted when uploadToServer is false', async () => { + const { remotely } = await startRemoteControlApp(); + await expect(remotely(() => { + const { crashReporter } = require('electron'); crashReporter.start({ uploadToServer: false } as any); - }).not.to.throw(); + })).to.be.fulfilled(); }); it('can be called twice', async () => { diff --git a/spec/api-utility-process-spec.ts b/spec/api-utility-process-spec.ts index e6c15aaf95cb..c2752ac39a56 100644 --- a/spec/api-utility-process-spec.ts +++ b/spec/api-utility-process-spec.ts @@ -10,6 +10,7 @@ import { setImmediate } from 'node:timers/promises'; const fixturesPath = path.resolve(__dirname, 'fixtures', 'api', 'utility-process'); const isWindowsOnArm = process.platform === 'win32' && process.arch === 'arm64'; +const isWindows32Bit = process.platform === 'win32' && process.arch === 'ia32'; describe('utilityProcess module', () => { describe('UtilityProcess constructor', () => { @@ -58,14 +59,14 @@ describe('utilityProcess module', () => { expect(code).to.equal(0); }); - it('emits \'exit\' when child process crashes', async () => { + ifit(!isWindows32Bit)('emits \'exit\' when child process crashes', async () => { const child = utilityProcess.fork(path.join(fixturesPath, 'crash.js')); // Do not check for exit code in this case, // SIGSEGV code can be 139 or 11 across our different CI pipeline. await once(child, 'exit'); }); - it('emits \'exit\' corresponding to the child process', async () => { + ifit(!isWindows32Bit)('emits \'exit\' corresponding to the child process', async () => { const child1 = utilityProcess.fork(path.join(fixturesPath, 'endless.js')); await once(child1, 'spawn'); const child2 = utilityProcess.fork(path.join(fixturesPath, 'crash.js')); @@ -95,7 +96,7 @@ describe('utilityProcess module', () => { }); describe('app \'child-process-gone\' event', () => { - it('with default serviceName', async () => { + ifit(!isWindows32Bit)('with default serviceName', async () => { utilityProcess.fork(path.join(fixturesPath, 'crash.js')); const [, details] = await once(app, 'child-process-gone') as [any, Electron.Details]; expect(details.type).to.equal('Utility'); @@ -104,7 +105,7 @@ describe('utilityProcess module', () => { expect(details.reason).to.be.oneOf(['crashed', 'abnormal-exit']); }); - it('with custom serviceName', async () => { + ifit(!isWindows32Bit)('with custom serviceName', async () => { utilityProcess.fork(path.join(fixturesPath, 'crash.js'), [], { serviceName: 'Hello World!' }); const [, details] = await once(app, 'child-process-gone') as [any, Electron.Details]; expect(details.type).to.equal('Utility');