I took your indication and changed the patch as follows.

Case 1:
I revised "[ -f /proc/cgroups ]" case to use "tst_resm TCONF"
instead of "echo".
But this revision is unbalanced with the other exit messages,
so I revised other cases too.
I don't know how to use exit code, so I use 0 or 1.
I might mistake those code.

============
--- run_cgroup_test_fj.sh       2009-10-26 23:49:23.000000000 +0900
+++ run_cgroup_test_fj.sh.new   2009-12-14 14:21:53.000000000 +0900
@@ -34,19 +34,19 @@
 export CASENO2=0
 
 if [ "$(id -ru)" -ne 0 ]; then
-       echo "***error***:you must use root to test"
-       exit -1
+       tst_brkm TBROK ignored "***error***:you must use root to test"
+       exit 1
 fi
 
 if ! [ -f /proc/cgroups ]; then
-       echo "***error***:you must enable cgroup config in kernel";
-       exit -3;
+       tst_resm TCONF "***error***:you must enable cgroup config in
kernel";
+       exit 0;
 fi
 
 if [ ! -x $TESTROOT/cgroup_fj_proc ]; then
-       echo "***warning***:file \"cgroup_fj_proc\" is not exist or not
executable";
-       echo "please do make and check execution permission"
-       exit -4;
+       tst_brkm TBROK ignored "***warning***:file \"cgroup_fj_proc\" is not
exist or not executable";
+       tst_brkm TBROK ignored "please do make and check execution
permission"
+       exit 1;
 fi
 
 CPUSET=`grep -w cpuset /proc/cgroups | cut -f1`;
@@ -83,10 +83,10 @@
         SYBSYSCOMPILED="$SYBSYSCOMPILED devices,"
 fi
 if [ "$SYBSYSCOMPILED" = "" ];then     # Warning and exit if all cgroup
subsystem are not compiled
-       echo "CONTROLLERS TESTCASES: WARNING";
-       echo "Kernel does not support for any cgroup subsystem";
-       echo "Skipping all controllers testcases....";
-       exit -2;
+       tst_resm TCONF "CONTROLLERS TESTCASES: WARNING";
+       tst_resm TCONF "Kernel does not support for any cgroup subsystem";
+       tst_resm TCONF "Skipping all controllers testcases....";
+       exit 0;
 fi
 
 echo "Now, we start the test for cgroup...";
============


Case 2:
I revised "[ "$USER" != root ]" case, and revised 
"[ ! -f /proc/cgroups ]" case to use "tst_resm" instead of "echocase"
 for balance.

============
--- cgroup_regression_test.sh   2009-11-30 17:41:37.000000000 +0900
+++ cgroup_regression_test.sh.new       2009-12-14 11:42:58.000000000 +0900
@@ -29,15 +29,15 @@
 export TST_COUNT=1
 
 if [ ! -f /proc/cgroups ]; then
-        echo "CONTROLLERS TESTCASES: WARNING"
-        echo "Kernel does not support for control groups";
-        echo "Skipping all controllers testcases....";
+       tst_resm TCONF "CONTROLLERS TESTCASES: WARNING"
+       tst_resm TCONF "Kernel does not support for control groups"
+       tst_resm TCONF "Skipping all controllers testcases...."
        exit 0
 fi
 
 if [ "$USER" != root ]; then
        tst_brkm TBROK ignored "Test must be run as root"
-       exit 0
+       exit 1
 fi
 
 tst_kvercmp 2 6 29
============


Regards--


-Tomonori Mitani


-----Original Message-----
From: Garrett Cooper [mailto:[email protected]] 
Sent: Friday, December 11, 2009 6:45 PM
To: Mitani
Cc: [email protected]
Subject: Re: [LTP] "cgroup_fj" and "cgroup" have problems?

On Dec 11, 2009, at 1:21 AM, Mitani wrote:

> Hi,
> 
> Sorry for my many many mails today.
> 
> 
> I ran tests with "ltp-2009-12-10" cvs.
> 
> In my system (kernel 2.6.18-164.el5), kernel does not support 
> control groups.
> So, when I ran test of "cgroup_fj", I got following message and the
> test faild by "FAIL 253".
> 
> ------------
> ***error***:you must enable cgroup config in kernel
> ------------
> 
> In the investigation for above error message, I found that there may be
> two problems,.
> 
>  (a) "cgroup_fj" test failed in the system not support "control groups".
>  (b) "cgroup" test may passed by user-ID which isn't "root".
> 
> 
> (a) "cgroup_fj" test
>  Above message is correct message, but exiting by "FAIL" is not
>  correct, I think.
>  Referring to the example of other tests, I think that the tests
>  for non-supported functions must be finished in "PASS 0" basically.
>  (For example, "move_pages{01...11}" tests exit in "PASS 0" and with 
>  "NUMA support not provided" messages.)
> 
>  I suggest following patch to resolve this problem.
> 
> ============
> --- run_cgroup_test_fj.sh     2009-10-26 23:49:23.000000000 +0900
> +++ run_cgroup_test_fj.sh.new 2009-12-11 16:10:39.000000000 +0900
> @@ -40,7 +40,7 @@
> 
> if ! [ -f /proc/cgroups ]; then
>       echo "***error***:you must enable cgroup config in kernel";
> -     exit -3;
> +     exit 0;
> fi
> 
> if [ ! -x $TESTROOT/cgroup_fj_proc ]; then
> 
> ============
> 
> 
> (b) "cgroup" test
>  I watched "cgroup" test source for hints for (a), and found another
>  problem.
>  If this test run by user-ID non-"root", it will exit in "PASS", I think.
>  But I think that it must exit in "FAIL".
>  Because this test cannot be tested only by "root" user.
> 
> =========
> --- cgroup_regression_test.sh 2009-11-30 17:41:37.000000000 +0900
> +++ cgroup_regression_test.sh.new     2009-12-11 16:22:14.000000000 +0900
> @@ -37,7 +37,7 @@
> 
> if [ "$USER" != root ]; then
>       tst_brkm TBROK ignored "Test must be run as root"
> -     exit 0
> +     exit -1
> fi
> 
> tst_kvercmp 2 6 29

1. Case 1 should be tst_brkm TCONF and should have exit 0 (like you
suggested).
2. Case 2 should have the equivalent exit code for TBROK (it's in
include/test.h). $? -> -1 is undefined via POSIX and while it passes on
bash, it doesn't pass on ash, and thus would fail with busybox.
Thanks,
-Garrett=



------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to