test-fs-realpath: Put junk in tmp, not fixtures.
authorisaacs <i@izs.me>
Sun, 5 Dec 2010 19:35:41 +0000 (11:35 -0800)
committerRyan Dahl <ry@tinyclouds.org>
Sun, 5 Dec 2010 23:28:15 +0000 (15:28 -0800)
Prevents test/fixtures/cycles/folder/cycles from being created every time
the tests are run.

test/simple/test-fs-realpath.js

index 162c7af..fec0bc3 100644 (file)
@@ -59,9 +59,9 @@ function bashRealpath(path, callback) {
 function test_simple_relative_symlink(callback) {
   console.log('test_simple_relative_symlink');
   var entry = common.tmpDir + '/symlink',
-      expected = common.fixturesDir + '/cycles/root.js';
+      expected = common.tmpDir + '/cycles/root.js';
   [
-    [entry, '../fixtures/cycles/root.js']
+    [entry, '../tmp/cycles/root.js']
   ].forEach(function(t) {
     try {fs.unlinkSync(t[0]);}catch (e) {}
     fs.symlinkSync(t[1], t[0]);
@@ -82,7 +82,7 @@ function test_simple_relative_symlink(callback) {
 
 function test_simple_absolute_symlink(callback) {
   console.log('test_simple_absolute_symlink');
-  var entry = fixturesAbsDir + '/cycles/symlink',
+  var entry = tmpAbsDir + '/symlink',
       expected = fixturesAbsDir + '/nested-index/one/index.js';
   [
     [entry, expected]
@@ -163,11 +163,11 @@ function test_deep_relative_dir_symlink(callback) {
 
 function test_cyclic_link_protection(callback) {
   console.log('test_cyclic_link_protection');
-  var entry = common.fixturesDir + '/cycles/realpath-3a';
+  var entry = common.tmpDir + '/cycles/realpath-3a';
   [
     [entry, '../cycles/realpath-3b'],
-    [common.fixturesDir + '/cycles/realpath-3b', '../cycles/realpath-3c'],
-    [common.fixturesDir + '/cycles/realpath-3c', '../cycles/realpath-3a']
+    [common.tmpDir + '/cycles/realpath-3b', '../cycles/realpath-3c'],
+    [common.tmpDir + '/cycles/realpath-3c', '../cycles/realpath-3a']
   ].forEach(function(t) {
     try {fs.unlinkSync(t[0]);} catch (e) {}
     fs.symlinkSync(t[1], t[0]);
@@ -182,7 +182,7 @@ function test_cyclic_link_protection(callback) {
 
 function test_cyclic_link_overprotection(callback) {
   console.log('test_cyclic_link_overprotection');
-  var cycles = common.fixturesDir + '/cycles';
+  var cycles = common.tmpDir + '/cycles';
   var expected = fs.realpathSync(cycles);
   var folder = cycles + '/folder';
   var link = folder + '/cycles';
@@ -190,6 +190,7 @@ function test_cyclic_link_overprotection(callback) {
   for (var i = 0; i < 10; i++) testPath += '/folder/cycles';
   try {fs.unlinkSync(link)} catch (ex) {}
   fs.symlinkSync(cycles, link);
+  unlink.push(link);
   assert.equal(fs.realpathSync(testPath), expected);
   asynctest(fs.realpath, [testPath], callback, function(er, res) {
     assert.equal(res, expected);
@@ -198,14 +199,14 @@ function test_cyclic_link_overprotection(callback) {
 
 function test_relative_input_cwd(callback) {
   console.log('test_relative_input_cwd');
-  var p = common.fixturesDir.lastIndexOf('/');
-  var entrydir = common.fixturesDir.substr(0, p);
-  var entry = common.fixturesDir.substr(p + 1) + '/cycles/realpath-3a';
-  var expected = common.fixturesDir + '/cycles/root.js';
+  var p = common.tmpDir.lastIndexOf('/');
+  var entrydir = common.tmpDir.substr(0, p);
+  var entry = common.tmpDir.substr(p + 1) + '/cycles/realpath-3a';
+  var expected = common.tmpDir + '/cycles/root.js';
   [
     [entry, '../cycles/realpath-3b'],
-    [common.fixturesDir + '/cycles/realpath-3b', '../cycles/realpath-3c'],
-    [common.fixturesDir + '/cycles/realpath-3c', 'root.js']
+    [common.tmpDir + '/cycles/realpath-3b', '../cycles/realpath-3c'],
+    [common.tmpDir + '/cycles/realpath-3c', 'root.js']
   ].forEach(function(t) {
     var fn = t[0];
     if (fn.charAt(0) !== '/') fn = entrydir + '/' + fn;
@@ -257,7 +258,7 @@ function test_deep_symlink_mix(callback) {
       [fixturesAbsDir + '/nested-index/one/realpath-c', fixturesAbsDir +
             '/nested-index/two/realpath-c'],
       [fixturesAbsDir + '/nested-index/two/realpath-c',
-        '../../cycles/root.js']
+        '../../../tmp/cycles/root.js']
     ].forEach(function(t) {
       //common.debug('setting up '+t[0]+' -> '+t[1]);
       try { fs.unlinkSync(t[0]); } catch (e) {}
@@ -267,7 +268,7 @@ function test_deep_symlink_mix(callback) {
   } finally {
     unlink.push(tmp('node-test-realpath-d2'));
   }
-  var expected = fixturesAbsDir + '/cycles/root.js';
+  var expected = tmpAbsDir + '/cycles/root.js';
   assert.equal(fs.realpathSync(entry), expected);
   asynctest(fs.realpath, [entry], callback, function(err, result) {
     assert.equal(result, expected,
@@ -281,10 +282,10 @@ function test_deep_symlink_mix(callback) {
 
 function test_non_symlinks(callback) {
   console.log('test_non_symlinks');
-  var p = fixturesAbsDir.lastIndexOf('/');
-  var entrydir = fixturesAbsDir.substr(0, p);
-  var entry = fixturesAbsDir.substr(p + 1) + '/cycles/root.js';
-  var expected = fixturesAbsDir + '/cycles/root.js';
+  var p = tmpAbsDir.lastIndexOf('/');
+  var entrydir = tmpAbsDir.substr(0, p);
+  var entry = tmpAbsDir.substr(p + 1) + '/cycles/root.js';
+  var expected = tmpAbsDir + '/cycles/root.js';
   var origcwd = process.cwd();
   process.chdir(entrydir);
   assert.equal(fs.realpathSync(entry), expected);
@@ -321,7 +322,7 @@ assert.equal(upone, uponeActual,
 // realpath(root+'/a/link/c/x.txt') ==> root+'/a/b/c/x.txt'
 function test_abs_with_kids(cb) {
   console.log('test_abs_with_kids');
-  var root = fixturesAbsDir + '/node-test-realpath-abs-kids';
+  var root = tmpAbsDir + '/node-test-realpath-abs-kids';
   function cleanup() {
     ['/a/b/c/x.txt',
       '/a/link'
@@ -387,6 +388,15 @@ function runNextTest(err) {
 }
 getAbsPaths(function(er) {
   if (er) throw er;
+  var tmpDirs = ['cycles', 'cycles/folder'];
+  tmpDirs.forEach(function(t) {
+    t = tmp(t);
+    var s;
+    try { s = fs.statSync(t); } catch (ex) {}
+    if (s) return;
+    fs.mkdirSync(t, 0700);
+  });
+  fs.writeFileSync(tmp('cycles/root.js'), "console.error('roooot!');");
   runNextTest();
 });