Closing file handles to fix test failures on windows

This commit is contained in:
hbeeken 2014-08-07 12:03:03 +01:00
parent 960d15491d
commit fadd2167f5
2 changed files with 29 additions and 20 deletions

View File

@ -17,40 +17,48 @@
var should = require("should"); var should = require("should");
var path = require('path'); var path = require('path');
var fs = require('fs-extra'); var fs = require('fs-extra');
var mkdirp = require('mkdirp');
var tailNode = require("../../../../nodes/core/storage/28-tail.js"); var tailNode = require("../../../../nodes/core/storage/28-tail.js");
var helper = require("../../helper.js"); var helper = require("../../helper.js");
describe('TailNode', function() { describe('TailNode', function() {
var tempDir = path.join(__dirname, ".tmp/"); var tempDir = path.join(__dirname, ".tmp");
var fileToTail = path.join(tempDir, "tailMe.txt"); var fileToTail = path.join(tempDir, "tailMe.txt");
beforeEach(function(done) { // function which writes to the file creating all missing directories
fs.exists(fileToTail, function(exists) { function writeFile(path, contents) {
if(exists) { mkdirp(tempDir, function(err) {
fs.unlinkSync(fileToTail); if(err) {
} return err;
}); }
fs.exists(tempDir, function(exists) { try {
if(!exists) { fs.writeFileSync(path, contents, 'utf8');
fs.mkdirSync(tempDir); } catch (error) {
console.log("Unexpected error writing file: " +error.message);
return error;
} }
fs.writeFileSync(fileToTail, "Tail message line1\nTail message line2\n");
helper.startServer(done);
}); });
}
beforeEach(function(done) {
writeFile(fileToTail, "Tail message line1\nTail message line2\n");
helper.startServer(done);
}); });
afterEach(function(done) { afterEach(function(done) {
helper.unload(); helper.unload();
fs.exists(fileToTail, function(exists) { fs.remove(tempDir, function(err) {
if(exists) { if (err) {
fs.unlinkSync(fileToTail); console.log("error occurred removing " + tempDir + ": " +err);
} return err;
// have to call stop server otherwise tail node litters test output }
// with warnings when tailed file gets deleted fs.exists(tempDir, function(exists) {
fs.remove(tempDir, helper.stopServer(done)); exists.should.be.false;
}); helper.stopServer(done);
});
});
}); });
it('should be loaded', function(done) { it('should be loaded', function(done) {

View File

@ -62,6 +62,7 @@ module.exports = {
unload: function() { unload: function() {
// TODO: any other state to remove between tests? // TODO: any other state to remove between tests?
redNodes.clearRegistry(); redNodes.clearRegistry();
flows.stopFlows();
}, },
getNode: function(id) { getNode: function(id) {