2021-02-22 12:03:32 -08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// Checks for crash regression: https://github.com/nodejs/node/issues/37430
|
|
|
|
|
|
|
|
const common = require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const {
|
|
|
|
open,
|
|
|
|
openSync,
|
|
|
|
promises: {
|
|
|
|
open: openPromise,
|
|
|
|
},
|
|
|
|
} = require('fs');
|
|
|
|
|
|
|
|
// These should throw, not crash.
|
2022-05-22 23:44:12 +08:00
|
|
|
const invalid = 4_294_967_296;
|
2021-02-22 12:03:32 -08:00
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.throws(() => open(__filename, invalid, common.mustNotCall()), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
|
|
|
});
|
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.throws(() => open(__filename, 0, invalid, common.mustNotCall()), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
|
|
|
});
|
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.throws(() => openSync(__filename, invalid), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
|
|
|
});
|
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.throws(() => openSync(__filename, 0, invalid), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
|
|
|
});
|
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.rejects(openPromise(__filename, invalid), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
2023-10-23 19:55:50 +02:00
|
|
|
}).then(common.mustCall());
|
2021-02-22 12:03:32 -08:00
|
|
|
|
2022-05-22 23:44:12 +08:00
|
|
|
assert.rejects(openPromise(__filename, 0, invalid), {
|
2021-02-22 12:03:32 -08:00
|
|
|
code: 'ERR_OUT_OF_RANGE'
|
2023-10-23 19:55:50 +02:00
|
|
|
}).then(common.mustCall());
|