mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
fix: use temp directory for singleton test and clean up at end (#49604)
* 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
This commit is contained in:
12
spec/fixtures/api/singleton-userdata/main.js
vendored
12
spec/fixtures/api/singleton-userdata/main.js
vendored
@@ -3,11 +3,17 @@ 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
|
||||
const userDataFolder = path.join(app.getPath('home'), 'electron-test-singleton-userdata');
|
||||
fs.rmSync(userDataFolder, { force: true, recursive: true });
|
||||
app.setPath('userData', userDataFolder);
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user