test: the test suite exits on its own, without --forceExit (closes #585)
Some tests left timers running when they ended, and --forceExit hid them; both test scripts drop it. Six background test files left the background's 20-second timer running while an approval was pending; each now stubs it for the whole file. Five popup test files left a flash message's two-second timer running; they now use fake timers, and a wait on real zero-delay timeouts became jest.advanceTimersByTimeAsync(0). Two ethers timers can still run for up to 250 ms after a test ends; they stop before jest checks for open handles. Model: opus-5-5
This commit was merged in pull request #710.
This commit is contained in:
@@ -357,6 +357,11 @@ describe("every way to a signature or the private key refuses a defective wallet
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
// showFlash() starts a timer that clears the message two seconds
|
||||
// later. Each test here runs on fake timers and drops them in
|
||||
// afterEach, so that timer never outlives the test.
|
||||
jest.useFakeTimers();
|
||||
|
||||
const broken = brokenXprvWallet();
|
||||
// A balance, so that no Send button's zero-balance refusal can stand
|
||||
// in for the defect check.
|
||||
@@ -398,6 +403,7 @@ describe("every way to a signature or the private key refuses a defective wallet
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers();
|
||||
state.wallets = [];
|
||||
state.activeAddress = null;
|
||||
state.selectedWallet = null;
|
||||
|
||||
Reference in New Issue
Block a user