write-then-read.js 871 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. var fs = require('../');
  2. var rimraf = require('rimraf');
  3. var mkdirp = require('mkdirp');
  4. var test = require('tap').test;
  5. var p = require('path').resolve(__dirname, 'files');
  6. process.chdir(__dirname)
  7. // Make sure to reserve the stderr fd
  8. process.stderr.write('');
  9. var num = 4097;
  10. var paths = new Array(num);
  11. test('make files', function (t) {
  12. rimraf.sync(p);
  13. mkdirp.sync(p);
  14. for (var i = 0; i < num; ++i) {
  15. paths[i] = 'files/file-' + i;
  16. fs.writeFileSync(paths[i], 'content');
  17. }
  18. t.end();
  19. })
  20. test('read files', function (t) {
  21. // now read them
  22. var done = 0;
  23. for (var i = 0; i < num; ++i) {
  24. fs.readFile(paths[i], function(err, data) {
  25. if (err)
  26. throw err;
  27. ++done;
  28. if (done === num) {
  29. t.pass('success');
  30. t.end()
  31. }
  32. });
  33. }
  34. });
  35. test('cleanup', function (t) {
  36. rimraf.sync(p);
  37. t.end();
  38. });