diff --git a/test/parallel/test-regress-GH-3739.js b/test/parallel/test-regress-GH-3739.js new file mode 100644 index 00000000000000..aef54c3ea6c7c4 --- /dev/null +++ b/test/parallel/test-regress-GH-3739.js @@ -0,0 +1,31 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const fs = require('fs'); +const path = require('path'); + +var dir = path.resolve(common.tmpDir); + +// Make sure that the tmp directory is clean +common.refreshTmpDir(); + +// Make a long path. +for (var i = 0; i < 50; i++) { + dir = dir + '/1234567890'; + try { + fs.mkdirSync(dir, '0777'); + } catch (e) { + if (e.code !== 'EEXIST') { + throw e; + } + } +} + +// Test if file exists synchronously +assert(common.fileExists(dir), 'Directory is not accessible'); + +// Test if file exists asynchronously +fs.access(dir, function(err) { + assert(!err, 'Directory is not accessible'); +}); diff --git a/test/sequential/test-regress-GH-3739.js b/test/sequential/test-regress-GH-3739.js deleted file mode 100644 index cc16b22dc44c46..00000000000000 --- a/test/sequential/test-regress-GH-3739.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict'; -var common = require('../common'), - assert = require('assert'), - fs = require('fs'), - path = require('path'); - -var dir = path.resolve(common.fixturesDir), - dirs = []; - -// Make a long path. -for (var i = 0; i < 50; i++) { - dir = dir + '/123456790'; - try { - fs.mkdirSync(dir, '0777'); - } catch (e) { - if (e.code == 'EEXIST') { - // Ignore; - } else { - cleanup(); - throw e; - } - } - dirs.push(dir); -} - -// Test existsSync -var r = common.fileExists(dir); -if (r !== true) { - cleanup(); - throw new Error('fs.accessSync returned false'); -} - -// Text exists -fs.access(dir, function(err) { - cleanup(); - if (err) { - throw new Error('fs.access reported false'); - } -}); - -// Remove all created directories -function cleanup() { - for (var i = dirs.length - 1; i >= 0; i--) { - fs.rmdirSync(dirs[i]); - } -}