summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/node_binding.cc7
-rw-r--r--test/addons/dlopen-ping-pong/test-worker.js3
-rw-r--r--test/addons/dlopen-ping-pong/test.js2
-rw-r--r--test/addons/not-a-binding/test.js2
4 files changed, 10 insertions, 4 deletions
diff --git a/src/node_binding.cc b/src/node_binding.cc
index d083c64d10..f57ddb54b6 100644
--- a/src/node_binding.cc
+++ b/src/node_binding.cc
@@ -484,7 +484,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;
}
}
diff --git a/test/addons/dlopen-ping-pong/test-worker.js b/test/addons/dlopen-ping-pong/test-worker.js
index feba6aa5eb..d24bd2df80 100644
--- a/test/addons/dlopen-ping-pong/test-worker.js
+++ b/test/addons/dlopen-ping-pong/test-worker.js
@@ -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}'.`);
}));
diff --git a/test/addons/dlopen-ping-pong/test.js b/test/addons/dlopen-ping-pong/test.js
index c5b8c16493..c3461d8bd2 100644
--- a/test/addons/dlopen-ping-pong/test.js
+++ b/test/addons/dlopen-ping-pong/test.js
@@ -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);
diff --git a/test/addons/not-a-binding/test.js b/test/addons/not-a-binding/test.js
index a0ce2d0629..4b4e7150eb 100644
--- a/test/addons/not-a-binding/test.js
+++ b/test/addons/not-a-binding/test.js
@@ -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);