Hi,
With RHEL5.4/5.5 systems, I noticed that "Containers" test failed but
"Containers" is PASS in log results:
---<log results file>-------------
...
hangup01 PASS 0
Containers PASS 0
BindMounts PASS 0
...
----------------
---<detail in redirected file>-------------
...
check_netns_enabled 1 TFAIL : unshare syscall smoke test failed:
errno=EINVAL(22): Invalid argument
Network namespaces not enabled in kernel. Not running netns tests.
...
----------------
The source which returned with "Invalid argument" is
"check_netns_enabled.c":
---<check_netns_enabled.c>-------------
main()
{
/* Checking if the kernel supports unshare with netns capabilities.
*/
if (syscall(__NR_unshare, CLONE_NEWNET | CLONE_NEWNS) < 0) {
tst_resm (TFAIL | TERRNO, "unshare syscall smoke test
failed");
}
tst_exit();
}
----------------
In RHEL5.4/5.5 systems, unshare() does not support the argument
"CLONE_NEWNET".
But I feel strange that log results is "PASS" in spite of "TFAIL" exit.
"container_test.sh" which calls "check_netns_enabled.c" is as follows:
---<container_test.sh>-------------
...
check_netns_enabled
if [ $? -eq 0 ]; then
echo "Running netns tests."
runnetnstest.sh
else
echo "Network namespaces not enabled in kernel. Not running netns
tests."
fi
...
----------------
According to above source, "check_netns_enabled.c" is only the judgement
whether "runnetnstest.sh" test can be called or not.
So, I think that "TFAIL" is not suitable for the test impossibility
message.
"TCONF" is more suitable for the message than "TFAIL", I think.
But, if "TCONF" is used instead of "TFAIL", "tst_exit" returns with 0.
And the test shell "runnetnstest.sh" is called against intention.
I thought up two ways of solutions.
(1) Insert "exit(1)" just after "tst_resm()" of "check_netns_enabled.c"
(2) Replace "TFAIL" with "TWARN", instead of "TCONF".
But above solutions are both irregular measures, I think.
If there are other good measures, please give me advice.
In the following, I nominate a temporary patch for an example:
Signed-off-by: Tomonori Mitani <[email protected]>
===(1)=========
--- a/testcases/kernel/containers/netns/check_netns_enabled.c 2010-07-12
02:01:45.000000000 +0900
+++ b/testcases/kernel/containers/netns/check_netns_enabled.c 2010-07-16
11:58:14.000000000 +0900
@@ -43,7 +43,8 @@
{
/* Checking if the kernel supports unshare with netns capabilities.
*/
if (syscall(__NR_unshare, CLONE_NEWNET | CLONE_NEWNS) < 0) {
- tst_resm (TFAIL | TERRNO, "unshare syscall smoke test
failed");
+ tst_resm (TCONF | TERRNO, "unshare syscall smoke test
failed");
+ exit (1);
}
tst_exit();
}
============
===(2)=========
--- a/testcases/kernel/containers/netns/check_netns_enabled.c 2010-07-12
02:01:45.000000000 +0900
+++ b/testcases/kernel/containers/netns/check_netns_enabled.c 2010-07-16
11:56:47.000000000 +0900
@@ -43,7 +43,7 @@
{
/* Checking if the kernel supports unshare with netns capabilities.
*/
if (syscall(__NR_unshare, CLONE_NEWNET | CLONE_NEWNS) < 0) {
- tst_resm (TFAIL | TERRNO, "unshare syscall smoke test
failed");
+ tst_resm (TWARN | TERRNO, "unshare syscall smoke test
failed");
}
tst_exit();
}
============
Regards--
-Tomonori Mitani
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list