mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
* fix: create directory for singleton test in `temp` instead of `home` * fix: remove directory for singleton test at test end * refactor: avoid extraneous declarations in singleton test * refactor: reintroduce `userDataFolder` declaration in singleton test * refactor: move cleanup before app exit in singleton test * style: add missing semicolon * refactor: set the user data path after pre-test cleanup in singleton test * fix: release lock before cleanup in singleton test
20 lines
696 B
JavaScript
20 lines
696 B
JavaScript
const { app } = require('electron');
|
|
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
const userDataFolder = path.join(app.getPath('temp'), 'electron-test-singleton-userdata');
|
|
|
|
// non-existent user data folder should not break requestSingleInstanceLock()
|
|
// ref: https://github.com/electron/electron/issues/33547
|
|
fs.rmSync(userDataFolder, { recursive: true, force: true });
|
|
|
|
// set the user data path after clearing out old state and right before we use it
|
|
app.setPath('userData', userDataFolder);
|
|
const gotTheLock = app.requestSingleInstanceLock();
|
|
|
|
app.releaseSingleInstanceLock();
|
|
fs.rmSync(userDataFolder, { recursive: true, force: true });
|
|
|
|
app.exit(gotTheLock ? 0 : 1);
|