unsafe-sync.js 774 B

12345678910111213141516171819202122232425262728293031
  1. var
  2. fs = require('fs'),
  3. join = require('path').join,
  4. spawn = require('./spawn-sync');
  5. var unsafe = spawn.arg;
  6. try {
  7. var result = spawn.tmpFunction({ unsafeCleanup: unsafe });
  8. try {
  9. // file that should be removed
  10. var fd = fs.openSync(join(result.name, 'should-be-removed.file'), 'w');
  11. fs.closeSync(fd);
  12. // in tree source
  13. var symlinkSource = join(__dirname, 'symlinkme');
  14. // testing target
  15. var symlinkTarget = join(result.name, 'symlinkme-target');
  16. // symlink that should be removed but the contents should be preserved.
  17. fs.symlinkSync(symlinkSource, symlinkTarget, 'dir');
  18. spawn.out(result.name, spawn.exit);
  19. } catch (e) {
  20. spawn.err(e.toString(), spawn.exit);
  21. }
  22. }
  23. catch (e) {
  24. spawn.err(err, spawn.exit);
  25. }