Skip to content
Permalink
Browse files

test: fix disabled test-fs-largefile

Add `common.refreshTmpDir()` before using the tmp directory.

fs.writeSync no longer requires an integer for the position argument, so
change test from `assert.throws()` to `assert.doesNotThrow()`. The test
now passes.

Because it involves a 5 GB file, we're not going to activate the test,
although that is possible if we add checking for appropriate available
resources (definitely disk space, likely memory, maybe check that it's a
64-bit OS).

PR-URL: #13147
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
Trott committed May 22, 2017
1 parent 3954ea9 commit bbf74fb87b2f8273e1d93e949f9c840b12ce4805
Showing with 15 additions and 15 deletions.
  1. +15 −15 test/disabled/test-fs-largefile.js
@@ -21,13 +21,17 @@

'use strict';
const common = require('../common');

const assert = require('assert');
const path = require('path'),
fs = require('fs'),
filepath = path.join(common.tmpDir, 'large.txt'),
fd = fs.openSync(filepath, 'w+'),
offset = 5 * 1024 * 1024 * 1024, // 5GB
message = 'Large File';
const fs = require('fs');
const path = require('path');

common.refreshTmpDir();

const filepath = path.join(common.tmpDir, 'large.txt');
const fd = fs.openSync(filepath, 'w+');
const offset = 5 * 1024 * 1024 * 1024; // 5GB
const message = 'Large File';

fs.truncateSync(fd, offset);
assert.strictEqual(fs.statSync(filepath).size, offset);
@@ -39,17 +43,13 @@ assert.strictEqual(readBuf.toString(), message);
fs.readSync(fd, readBuf, 0, 1, 0);
assert.strictEqual(readBuf[0], 0);

var exceptionRaised = false;
try {
fs.writeSync(fd, writeBuf, 0, writeBuf.length, 42.000001);
} catch (err) {
console.log(err);
exceptionRaised = true;
assert.strictEqual(err.message, 'Not an integer');
}
assert.ok(exceptionRaised);
assert.doesNotThrow(
() => { fs.writeSync(fd, writeBuf, 0, writeBuf.length, 42.000001); }
);
fs.close(fd);

// Normally, we don't clean up tmp files at the end of a test, but we'll make an
// exception for a 5 GB file.
process.on('exit', function() {
fs.unlinkSync(filepath);
});

0 comments on commit bbf74fb

Please sign in to comment.
You can’t perform that action at this time.