mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Closing file handles to fix test failures on windows
This commit is contained in:
		| @@ -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) { | ||||||
|   | |||||||
| @@ -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) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user