Test case for issue #1228: errno masked in fs.openSync().
authorBen Noordhuis <info@bnoordhuis.nl>
Sat, 25 Jun 2011 12:53:28 +0000 (14:53 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Tue, 5 Jul 2011 00:05:09 +0000 (02:05 +0200)
test/simple/test-fs-open.js

index 02ae5d7..d2c4f54 100644 (file)
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+var constants = require('constants');
 var common = require('../common');
 var assert = require('assert');
 var fs = require('fs');
 
+var caughtException = false;
+try {
+  // should throw ENOENT, not EBADF - see https://github.com/joyent/node/pull/1228
+  fs.openSync('/path/to/file/that/does/not/exist', 'r');
+}
+catch (e) {
+  assert.equal(e.errno, constants.ENOENT);
+  caughtException = true;
+}
+assert.ok(caughtException);
+
 var openFd;
 fs.open(__filename, 'r', function(err, fd) {
   if (err) {