Skip to content

Commit

Permalink
test: fix flaky test-fs-stat-bigint
Browse files Browse the repository at this point in the history
Change test limit for atime from 2ms to 5ms. Add comment explaining why
the wiggle room is needed.

Fixes: nodejs#24593
  • Loading branch information
duncanhealy authored and Trott committed Feb 9, 2020
1 parent 74291e4 commit 74d8578
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions test/parallel/test-fs-stat-bigint.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ tmpdir.refresh();

let testIndex = 0;

// It's possible that the file stats are updated between the two statSync()
// calls so allow for a small difference.
const allowableDelta = 5;

function getFilename() {
const filename = path.join(tmpdir.path, `test-file-${++testIndex}`);
fs.writeFileSync(filename, 'test');
Expand All @@ -26,8 +30,8 @@ function verifyStats(bigintStats, numStats) {
const time = val.getTime();
const time2 = bigintStats[key].getTime();
assert(
Math.abs(time - time2) < 2,
`difference of ${key}.getTime() should < 2.\n` +
Math.abs(time - time2) < allowableDelta,
`difference of ${key}.getTime() should < ${allowableDelta}.\n` +
`Number version ${time}, BigInt version ${time2}n`);
} else if (key === 'mode') {
assert.strictEqual(bigintStats[key], BigInt(val));
Expand Down Expand Up @@ -65,17 +69,14 @@ function verifyStats(bigintStats, numStats) {
const nsFromBigInt = bigintStats[nsKey];
const msFromBigIntNs = Number(nsFromBigInt / (10n ** 6n));
const msFromNum = numStats[key];
// The difference between the millisecond-precision values should be
// smaller than 2

assert(
Math.abs(msFromNum - Number(msFromBigInt)) < 2,
Math.abs(msFromNum - Number(msFromBigInt)) < allowableDelta,
`Number version ${key} = ${msFromNum}, ` +
`BigInt version ${key} = ${msFromBigInt}n`);
// The difference between the millisecond-precision value and the
// nanosecond-precision value scaled down to milliseconds should be
// smaller than 2

assert(
Math.abs(msFromNum - Number(msFromBigIntNs)) < 2,
Math.abs(msFromNum - Number(msFromBigIntNs)) < allowableDelta,
`Number version ${key} = ${msFromNum}, ` +
`BigInt version ${nsKey} = ${nsFromBigInt}n` +
` = ${msFromBigIntNs}ms`);
Expand Down

0 comments on commit 74d8578

Please sign in to comment.