test: fix test-module-loading-error for musl
When a compiled library file does not have the proper format, musl returns the error message ENOEXEC as 'Exec format error' but glibc returns 'file too short' if the file is under a certain size. Reference: http://git.musl-libc.org/cgit/musl/tree/src/errno/__strerror.h#n46 This patch consists of tolerating musl's error. PR-URL: https://github.com/nodejs/node/pull/3657 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
This commit is contained in:
parent
2c33819370
commit
1bacf37ef8
@ -9,6 +9,7 @@ var error_desc = {
|
|||||||
linux: 'file too short',
|
linux: 'file too short',
|
||||||
sunos: 'unknown file type'
|
sunos: 'unknown file type'
|
||||||
};
|
};
|
||||||
|
var musl_errno_enoexec = 'Exec format error';
|
||||||
|
|
||||||
var dlerror_msg = error_desc[process.platform];
|
var dlerror_msg = error_desc[process.platform];
|
||||||
|
|
||||||
@ -20,6 +21,10 @@ if (!dlerror_msg) {
|
|||||||
try {
|
try {
|
||||||
require('../fixtures/module-loading-error.node');
|
require('../fixtures/module-loading-error.node');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
if (process.platform === 'linux' &&
|
||||||
|
e.toString().indexOf(musl_errno_enoexec) !== -1) {
|
||||||
|
dlerror_msg = musl_errno_enoexec;
|
||||||
|
}
|
||||||
assert.notEqual(e.toString().indexOf(dlerror_msg), -1);
|
assert.notEqual(e.toString().indexOf(dlerror_msg), -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user