node/test/parallel/test-module-loading-error.js
Jeremiah Senkpiel 4067cde7ee test: abstract skip functionality to common
The tap skipping output is so prevalent yet obscure in nature that we
ought to move it into it's own function in test/common.js

Re-do of 52bae222a3 for v4.x

Ref: https://github.com/nodejs/node/pull/6697
PR-URL: https://github.com/nodejs/node/pull/7114
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2016-06-23 17:25:10 -07:00

38 lines
863 B
JavaScript

'use strict';
const common = require('../common');
var assert = require('assert');
console.error('load test-module-loading-error.js');
var error_desc = {
win32: ['%1 is not a valid Win32 application'],
linux: ['file too short', 'Exec format error'],
sunos: ['unknown file type', 'not an ELF file'],
darwin: ['file too short']
};
var dlerror_msg = error_desc[process.platform];
if (!dlerror_msg) {
common.skip('platform not supported.');
return;
}
try {
require('../fixtures/module-loading-error.node');
} catch (e) {
assert.strictEqual(dlerror_msg.some((errMsgCase) => {
return e.toString().indexOf(errMsgCase) !== -1;
}), true);
}
try {
require();
} catch (e) {
assert.notEqual(e.toString().indexOf('missing path'), -1);
}
try {
require({});
} catch (e) {
assert.notEqual(e.toString().indexOf('path must be a string'), -1);
}