mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
36 lines
602 B
JavaScript
36 lines
602 B
JavaScript
// Test that the onGarbageCollection hook is not reentrant.
|
|
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
|
|
const root = newGlobal();
|
|
const dbg = new Debugger();
|
|
const wrappedRoot = dbg.addDebuggee(root)
|
|
|
|
let fired = true;
|
|
let depth = 0;
|
|
|
|
dbg.memory.onGarbageCollection = _ => {
|
|
fired = true;
|
|
|
|
equal(depth, 0);
|
|
depth++;
|
|
try {
|
|
root.eval(`gc()`);
|
|
} finally {
|
|
equal(depth, 1);
|
|
depth--;
|
|
}
|
|
}
|
|
|
|
root.eval(`gc()`);
|
|
|
|
executeSoon(() => {
|
|
ok(fired);
|
|
equal(depth, 0);
|
|
dbg.memory.onGarbageCollection = undefined;
|
|
do_test_finished();
|
|
});
|
|
}
|