1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:07:46 +00:00

LibJS/Tests: Set failing bytecode tests as xfail when in bytecode mode

This should allow us to enable running test-js in bytecode mode in CI.
This commit is contained in:
Shannon Booth 2023-07-22 17:30:15 +12:00 committed by Andreas Kling
parent 9b66e87bd8
commit d766014787
17 changed files with 145 additions and 110 deletions

View file

@ -16,25 +16,29 @@ test("invalid values", () => {
});
});
test("automatic removal of garbage-collected values", () => {
const weakSet = new WeakSet();
const objectItem = { a: 1 };
test.xfailIf(
isBytecodeInterpreterEnabled(),
"automatic removal of garbage-collected values",
() => {
const weakSet = new WeakSet();
const objectItem = { a: 1 };
expect(weakSet.add(objectItem)).toBe(weakSet);
expect(getWeakSetSize(weakSet)).toBe(1);
expect(weakSet.add(objectItem)).toBe(weakSet);
expect(getWeakSetSize(weakSet)).toBe(1);
markAsGarbage("objectItem");
gc();
markAsGarbage("objectItem");
gc();
expect(getWeakSetSize(weakSet)).toBe(0);
expect(getWeakSetSize(weakSet)).toBe(0);
const symbolItem = Symbol("foo");
const symbolItem = Symbol("foo");
expect(weakSet.add(symbolItem)).toBe(weakSet);
expect(getWeakSetSize(weakSet)).toBe(1);
expect(weakSet.add(symbolItem)).toBe(weakSet);
expect(getWeakSetSize(weakSet)).toBe(1);
markAsGarbage("symbolItem");
gc();
markAsGarbage("symbolItem");
gc();
expect(getWeakSetSize(weakSet)).toBe(0);
});
expect(getWeakSetSize(weakSet)).toBe(0);
}
);