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

Reply via email to