mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Align Blob.prototype.slice() with the File API Web IDL definition by using [Clamp] conversion for the start and end arguments. This fixes the Blob-slice.any.js WPT expected failures for fractional start and end values. Refs: https://www.w3.org/TR/FileAPI/#dfn-Blob Signed-off-by: HoonDongKang <d159123@naver.com> PR-URL: https://github.com/nodejs/node/pull/64739 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Matthew Aitken <maitken033380023@gmail.com> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jason Zhang <xzha4350@gmail.com>
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
'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: {
|
|
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',
|
|
},
|
|
};
|