Closed bdubbs closed 9 months ago
on your system unshare(CLONE_NEWUSER)
fails with EINVAL.
what gives unshare -U true
and strace unshare -U true
Indeed, I did not have CONFIG_USER_NS set in the kernel. The tests now only have six failures:
Running suite(s): main Abstract addresses Netlink attributes Clone ematch tree runs with NLTST_SEED_RAND=0 netns ... 79%: Checks: 29, Failures: 6, Errors: 0 tests/nl-test-util.c:389:F:Core:cache_and_clone:0: Assertion 'r == 0' failed: r == -10, 0 == 0 tests/nl-test-util.c:389:F:Core:test_create_iface:10: Assertion 'r == 0' failed: r == -10, 0 == 0 also for test_create_iface:11, 12, 13, 14.
What else am I missing?
It would help to have some documentation on the tests.
I think the test should be adjusted, so that it can gracefully skip if user-ns doesn't work.
anyway...
so, the test suite uses a network namespace to run. If you don't have the required permissions, the test suite fails. That's a known issue.
What probably makes sense, to gracefully handle the error and skip the tests in those case. Patch welcome. But that is not going to "fix" the tests, it will merely skip them automatically.
Closing this, because the problem is an unsupported usage (though, patches are welcome to better support it).
Besides the namespaces, if I read the code correctly it also requires some other kernel configuration items, like CONFIG_BRIDGE.
It would be better to document these requirements somewhere.
the unit tests are for developers of the library itself. They don't have proper documentation, but sure, maybe this could be explained somewhere (patch welcome).
In any case, if you build a kernel without CONFIG_BRIDGE, it seems you are the exception already. You are very welcome to just not run the unit tests (or send a patch to handle this better).
./configure make make check
Testsuite summary for libnl 3.8.0
TOTAL: 2
PASS: 1
SKIP: 0
XFAIL: 0
FAIL: 1
From test-suite.log:
FAIL: tests/check-all
Running suite(s): main Abstract addresses Netlink attributes Clone ematch tree runs with NLTST_SEED_RAND=0 netns 37%: Checks: 29, Failures: 18, Errors: 0 tests/nl-test-util.c:125:S:Core:cache_and_clone:0: assert(r == 0) failed (errno=22, Invalid argument) tests/nl-test-util.c:125:S:Core:test_create_iface:0: assert(r == 0) failed (errno=22, Invalid argument)
And failures for test_create_iface:1 through test_create_iface:16