Skip to content
Permalink
Browse files

src: add file name to 'Module did not self-register' error

PR-URL: #30125
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
  • Loading branch information
nornagon authored and MylesBorins committed Oct 25, 2019
1 parent 0ae1d17 commit 12d7d645dd0466d19e61b9a4ac69653b8f4a9817
@@ -485,7 +485,12 @@ void DLOpen(const FunctionCallbackInfo<Value>& args) {
mp = dlib->GetSavedModuleFromGlobalHandleMap();
if (mp == nullptr || mp->nm_context_register_func == nullptr) {
dlib->Close();
env->ThrowError("Module did not self-register.");
char errmsg[1024];
snprintf(errmsg,
sizeof(errmsg),
"Module did not self-register: '%s'.",
*filename);
env->ThrowError(errmsg);
return false;
}
}
@@ -16,5 +16,6 @@ require(bindingPath);
new Worker(`require(${JSON.stringify(bindingPath)})`, { eval: true })
.on('error', common.mustCall((err) => {
assert.strictEqual(err.constructor, Error);
assert.strictEqual(err.message, 'Module did not self-register.');
assert.strictEqual(err.message,
`Module did not self-register: '${bindingPath}'.`);
}));
@@ -19,5 +19,5 @@ assert.strictEqual(module.exports.ping(), 'pong');
// Check that after the addon is loaded with
// process.dlopen() a require() call fails.
console.log('require:', `./build/${common.buildType}/binding`);
const re = /^Error: Module did not self-register\.$/;
const re = /^Error: Module did not self-register: '.*[\\/]binding\.node'\.$/;
assert.throws(() => require(`./build/${common.buildType}/binding`), re);
@@ -2,5 +2,5 @@
const common = require('../../common');
const assert = require('assert');

const re = /^Error: Module did not self-register\.$/;
const re = /^Error: Module did not self-register: '.*[\\/]binding\.node'\.$/;
assert.throws(() => require(`./build/${common.buildType}/binding`), re);

0 comments on commit 12d7d64

Please sign in to comment.
You can’t perform that action at this time.