-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nodejs Makefile:196: recipe for target 'test' failed make: *** [test] Error 1 #14654
Comments
@topquant What's the output of this command?
|
developer2@superquantan:~/node-v8.2.1$ ./node -e
"console.log(os.networkInterfaces().lo.filter((e)=> e.address ===
'127.0.0.1'))"
[ { address: '127.0.0.1',
netmask: '255.0.0.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true },
{ address: '127.0.0.1',
netmask: '255.255.255.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true } ]
…On Sun, Aug 6, 2017 at 4:37 PM, Rich Trott ***@***.***> wrote:
@topquant <https://github.com/topquant> What's the output of this command?
./node -e "console.log(os.networkInterfaces().lo.filter((e) => e.address === '127.0.0.1'))"
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#14654 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF-OEYQu196Ns0AhGdKWy9j4zF4tzphuks5sVk41gaJpZM4Ou3m4>
.
|
@vsemozhetbyt Looks like all that's happening is @topquant It seems like you somehow have two IPv4 loopback interfaces configured with different netmasks. Ideally this shouldn't cause a problem for the test, but of course it does. However it also seems (to me, at least) very unusual. Is it possible there's some kind of odd configuration going on with your machine? Or is it a pretty standard out-of-the-box configuration? |
@topquant If you change lines 120-124 of test/parallel/test-os.js from this: const actual = interfaces.lo.filter(filter);
const expected = [{ address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true }];
assert.deepStrictEqual(actual, expected); …to this: const filteredLocalhost = interfaces.lo.filter(filter);
const expected = { address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true };
assert.ok(filteredLocalhost.includes(expected)); …does the test pass then? |
The test does not pass. Here is the output after the changes:
[ PASSED ] 47 tests.
/usr/bin/python tools/test.py --mode=release -J \
async-hooks doctool inspector known_issues message parallel pseudo-tty
sequential \
addons addons-napi
=== release test-os
===
Path: parallel/test-os
assert.js:60
throw new errors.AssertionError({
^
AssertionError [ERR_ASSERTION]: false == true
at Object.<anonymous>
(/home/developer2/node-v8.2.1/test/parallel/test-os.js:130:12)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3
Command: out/Release/node
/home/developer2/node-v8.2.1/test/parallel/test-os.js
[08:15|% 100|+ 1635|- 1]:
Done
Makefile:196: recipe for target 'test' failed
make: *** [test] Error 1
…On Sun, Aug 6, 2017 at 7:47 PM, Rich Trott ***@***.***> wrote:
@topquant <https://github.com/topquant> If you change lines 120-124 of
test/parallel/test-os.js from this:
const actual = interfaces.lo.filter(filter);
const expected = [{ address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true }];
assert.deepStrictEqual(actual, expected);
…to this:
const filteredLocalhost = interfaces.lo.filter(filter);
const expected = { address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true };
assert.ok(filteredLocalhost.includes(expected));
…does the test pass then?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#14654 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF-OEaj5dvCJTG6I9NQu5tXiGhoq4E8Qks5sVnqpgaJpZM4Ou3m4>
.
|
output of out/Release/node
/home/developer2/node-v8.2.1/test/parallel/test-os.js:
AssertionError [ERR_ASSERTION]: [ { address: '127.0.0.1',
netmask: '255.0.0.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true },
{ deepStrictEqual [ { address: '127.0.0.1',
netmask: '255.0.0.0',
mac: '00:00:00:00:00:00',
family: 'IPv4',
internal: true } ]
at Object.<anonymous>
(/home/developer2/node-v8.2.1/test/parallel/test-os.js:124:14)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3
developer2@superquantan:~/node-v8.2.1$
…On Sun, Aug 6, 2017 at 4:34 PM, Vse Mozhet Byt ***@***.***> wrote:
@topquant <https://github.com/topquant> The output seems a bit strange
here:
... internal: true }, { deepStrictEqual [ { address: '127.0.0.1',...
Can you run out/Release/node /home/developer2/node-v8.2.1/
test/parallel/test-os.js and re-quote the output?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#14654 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF-OEfOJyQg3geGtcVVDlOL0FIUr-W7Mks5sVk1ugaJpZM4Ou3m4>
.
|
Oh, of course, Does this fix it for you? case 'linux':
{
const fltr = (e) => e.address === '127.0.0.1' && e.netmask === '255.0.0.0';
const actual = interfaces.lo.filter(fltr);
const expected = [{ address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true }];
assert.deepStrictEqual(actual, expected);
break;
} |
The check for `os.networkInterfaces()` in `test-os.js` may be too strict. It's apparently possible for a machine to be configured with multiple IPv4 loopback interfaces. Increase specificity of filter to check on only the object we expect. Fixes: nodejs#14654
@Trott I tried applying both of the solutions you posed and neither work for me. I'm running the test on a Raspberry Pi 3 with Lubuntu, kernel version 4.4.38 |
@icarter09 What's the output of |
output of ./node -e "console.log(os.networkInterfaces().lo.filter((e) => e.address === '127.0.0.1'))" [ { address: '127.0.0.1', |
Thank you very much!!!!!!! This fix worked for me. lint does not work
(see below) but no concerns here.
/usr/bin/python tools/test.py --mode=release -J \
async-hooks doctool inspector known_issues message parallel pseudo-tty
sequential \
addons addons-napi
[07:49|% 100|+ 1636|- 0]:
Done
make lint
Linting is not available through the source tarball.
Use the git repo instead: git clone https://github.com/nodejs/node.git
exit 1
Makefile:929: recipe for target 'lint' failed
make[1]: *** [lint] Error 1
Makefile:196: recipe for target 'test' failed
make: *** [test] Error 2
…On Sun, Aug 6, 2017 at 11:38 PM, Rich Trott ***@***.***> wrote:
Oh, of course, .includes() won't work because it's a different object....
let me try again...
Does this fix it for you?
case 'linux':
{
const fltr = (e) => e.address === '127.0.0.1' && e.netmask === '255.0.0.0';
const actual = interfaces.lo.filter(fltr);
const expected = [{ address: '127.0.0.1', netmask: '255.0.0.0',
mac: '00:00:00:00:00:00', family: 'IPv4',
internal: true }];
assert.deepStrictEqual(actual, expected);
break;
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#14654 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF-OEZZa6Lnzun3Nfz2nZPPuIQjUgvfpks5sVrDhgaJpZM4Ou3m4>
.
|
Just noticed that I'm getting the same error as this post. https://gist.github.com/Sharan-ram/e110dcde9cc1719e5cdb17ed7e70eab2 |
@icarter09 That does not look related to this issue. That's a C++ test failure. Might (or might not) be related to #14206. @topquant I've got that fix ready to go in #14655. Should (hopefully) land in master in another day or two. |
The check for `os.networkInterfaces()` in `test-os.js` may be too strict. It's apparently possible for a machine to be configured with multiple IPv4 loopback interfaces. Increase specificity of filter to check on only the object we expect. PR-URL: #14655 Fixes: #14654 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: James M Snell <[email protected]>
The check for `os.networkInterfaces()` in `test-os.js` may be too strict. It's apparently possible for a machine to be configured with multiple IPv4 loopback interfaces. Increase specificity of filter to check on only the object we expect. PR-URL: #14655 Fixes: #14654 Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: James M Snell <[email protected]>
Version: node-v8.2.1
Platform: Linux 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Subsystem: if known, please specify affected core module name
tail of "make test"
(edited by @vsemozhetbyt: added backticks for the output block, delete template's comments residue)
The text was updated successfully, but these errors were encountered: