Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions test/wpt/status/FileAPI/blob.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
'use strict';

const os = require('node:os');

// On AIX, V8's OS::DecommitPages() has an inherent race condition caused by
// AIX's non-POSIX MAP_FIXED behavior. The implementation must munmap() then
// mmap(), and another thread can steal the address range in between. The
// Blob.arrayBuffer() tests trigger this by creating enough GC pressure
// (especially the concurrent reads test) to hit the race window.
// See deps/v8/src/base/platform/platform-aix.cc, lines 168-203.
const isAIX = os.type() === 'AIX';

const conditionalSkips = {};

if (isAIX) {
conditionalSkips['Blob-array-buffer.any.js'] = {
skip: 'V8 DecommitPages race condition on AIX (munmap/mmap non-atomic)',
};
}

module.exports = {
...conditionalSkips,
'Blob-constructor-dom.window.js': {
skip: 'Depends on DOM API',
},
'Blob-constructor.any.js': {
fail: {
expected: [
'blobParts not an object: boolean with Boolean.prototype[Symbol.iterator]',
'blobParts not an object: number with Number.prototype[Symbol.iterator]',
'blobParts not an object: BigInt with BigInt.prototype[Symbol.iterator]',
'blobParts not an object: Symbol with Symbol.prototype[Symbol.iterator]',
'Getters and value conversions should happen in order until an exception is thrown.',
'Arguments should be evaluated from left to right.',
],
flaky: [
'Passing typed arrays as elements of the blobParts array should work.',
'Passing a Float16Array as element of the blobParts array should work.',
'Passing a Float64Array as element of the blobParts array should work.',
'Passing BigInt typed arrays as elements of the blobParts array should work.',
],
},
},
'Blob-in-worker.worker.js': {
skip: 'Depends on Web Workers API',
},
'Blob-slice.any.js': {
fail: {
expected: [
'Slicing test: slice (1,1).',
'Slicing test: slice (1,3).',
'Slicing test: slice (1,5).',
'Slicing test: slice (1,7).',
'Slicing test: slice (1,8).',
'Slicing test: slice (1,9).',
],
},
},
};
38 changes: 0 additions & 38 deletions test/wpt/status/FileAPI/blob.json

This file was deleted.

Loading