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: #24593

PR-URL: #30437
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
duncanhealy authored and codebytere committed Mar 30, 2020
1 parent ca6fce0 commit 7d71465
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 7d71465

Please sign in to comment.