Hi,
Thank you for fixing "cgroup" and "cgroup_fj".
However, I found a new problem in revised "cgroup" testcases.
It's in "cgroup_regression_test.sh".
In my original patch, I didn't revise about "tst_kvercmp 2 6 29"
judgment.
But in fixed version, the error route of above judgment revised
from "TBROK" to "TCONF".
If "TCONF" is used, the shell should end by exit 0, I think.
But "cgroup_regression_test.sh" does not end by exit 0.
Please consider about the following patch:
============
--- cgroup_regression_test.sh 2009-12-23 09:52:18.000000000 +0900
+++ cgroup_regression_test.sh.new 2009-12-24 15:47:06.000000000 +0900
@@ -31,7 +31,7 @@
tst_kvercmp 2 6 29
if [ $? -eq 0 ]; then
tst_brkm TCONF ignored "test must be run with kernel 2.6.29 or
newer"
- exit 1
+ exit 0
elif [ ! -f /proc/cgroups ]; then
tst_brkm TCONF ignored "Kernel does not support for control groups;
skipping testcases";
exit 0
============
Regards--
-Tomonori Miatani
-----Original Message-----
From: Garrett Cooper [mailto:[email protected]]
Sent: Wednesday, December 23, 2009 9:53 AM
To: Mitani
Cc: [email protected]
Subject: Re: [LTP] "cgroup_fj" and "cgroup" have problems?
On Mon, Dec 14, 2009 at 12:08 AM, Mitani <[email protected]> wrote:
> 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
Committed -- thanks!
-Garrett
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list