[LTP] [PATCH v3] memcg_stress_test.sh: ported to newlib

Petr Vorel pvorel@suse.cz
Tue Jan 29 18:50:19 CET 2019


Hi Cristian,

I suggest following cleanup of your patch (see bellow).

This change, with my other cleanup patch [1] + your patch [2] can be seen on [3].

Kind regards,
Petr

[1] https://patchwork.ozlabs.org/patch/1032923/
[2] https://patchwork.ozlabs.org/patch/1020887/
[3] https://github.com/pevik/ltp/commits/christian/memcg_stress_test.sh.v3.fixes

diff --git testcases/kernel/controllers/cgroup_lib.sh testcases/kernel/controllers/cgroup_lib.sh
index c164932fa..7918b5636 100644
--- testcases/kernel/controllers/cgroup_lib.sh
+++ testcases/kernel/controllers/cgroup_lib.sh
@@ -33,7 +33,7 @@ is_cgroup_subsystem_available_and_enabled()
 	[ $# -eq 0 ] && tst_brk TBROK "is_cgroup_subsystem_available_and_enabled: subsystem not defined"
 
 	val=$(grep -w $subsystem /proc/cgroups | awk '{ print $4 }')
-	[ "x$val" = "x1" ] && return 0
+	[ "$val" = "1" ] && return 0
 
 	return 1
 }
diff --git testcases/kernel/controllers/memcg/stress/Makefile testcases/kernel/controllers/memcg/stress/Makefile
index 773363cfc..a9678bf3b 100644
--- testcases/kernel/controllers/memcg/stress/Makefile
+++ testcases/kernel/controllers/memcg/stress/Makefile
@@ -1,9 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 # Copyright (C) 2009, Cisco Systems Inc.
 # Author: Ngie Cooper, September 2009
-#
-#    kernel/controllers/memcg/stress testcase suite Makefile.
-#
 
 top_srcdir		?= ../../../../..
 
diff --git testcases/kernel/controllers/memcg/stress/memcg_process_stress.c testcases/kernel/controllers/memcg/stress/memcg_process_stress.c
index 6af550012..422deaeee 100644
--- testcases/kernel/controllers/memcg/stress/memcg_process_stress.c
+++ testcases/kernel/controllers/memcg/stress/memcg_process_stress.c
@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Copyright (c) 2009 FUJITSU LIMITED
- *
  * Author: Li Zefan <lizf@cn.fujitsu.com>
  */
 
diff --git testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
index 652d99e55..9972b6c45 100755
--- testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
+++ testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
@@ -7,25 +7,23 @@
 # Restructure for LTP: Shi Weihua <shiwh@cn.fujitsu.com>
 # Added memcg enable/disable functionality: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com
 
-TST_TESTFUNC=testcase_
-TST_SETUP=do_setup
-TST_CLEANUP=do_cleanup
+TST_TESTFUNC=test
+TST_SETUP=setup
+TST_CLEANUP=cleanup
 TST_CNT=2
 TST_NEEDS_ROOT=1
 TST_NEEDS_CMDS="mount umount cat kill mkdir rmdir grep awk cut"
 
-# Each test case runs for 900 secs when everything fine...
-# ...so the default 5mins timeout is not enough.
+# Each test case runs for 900 secs when everything fine
+# therefore the default 5 mins timeout is not enough.
 LTP_TIMEOUT_MUL=7
 
-. tst_test.sh
 . cgroup_lib.sh
 
-do_setup()
+setup()
 {
-	if ! is_cgroup_subsystem_available_and_enabled "memory";then
-		tst_res TWARN "Either Kernel does not support MEMORY resource controller or feature not enabled"
-		tst_brk TCONF ignored "Skipping all memory cgroup testcases...."
+	if ! is_cgroup_subsystem_available_and_enabled "memory"; then
+		tst_brk TCONF "Either kernel does not support Memory Resource Controller or feature not enabled"
 	fi
 
 	echo 3 > /proc/sys/vm/drop_caches
@@ -40,7 +38,7 @@ do_setup()
 	tst_res TINFO "Calculated available memory $MEM MB"
 }
 
-do_cleanup()
+cleanup()
 {
 	if [ -e /dev/memcg ]; then
 		umount /dev/memcg 2> /dev/null
@@ -50,15 +48,12 @@ do_cleanup()
 
 do_mount()
 {
-	do_cleanup
+	cleanup
 
 	mkdir /dev/memcg 2> /dev/null
 	mount -t cgroup -omemory memcg /dev/memcg
 }
 
-
-# Run the stress test
-#
 # $1 - Number of cgroups
 # $2 - Allocated how much memory in one process? in MB
 # $3 - The interval to touch memory in a process
@@ -69,34 +64,31 @@ run_stress()
 
 	do_mount
 
-	for i in $(seq 0 $(($1-1)))
-	do
+	for i in $(seq 0 $(($1-1))); do
 		mkdir /dev/memcg/$i 2> /dev/null
 		memcg_process_stress $2 $3 &
-		eval local pid$i=$!
+		eval pid$i=$!
 
 		eval echo \$pid$i > /dev/memcg/$i/tasks
 	done
 
-	for i in $(seq 0 $(($1-1)))
-	do
+	for i in $(seq 0 $(($1-1))); do
 		eval kill -USR1 \$pid$i 2> /dev/null
 	done
 
 	sleep $4
 
-	for i in $(seq 0 $(($1-1)))
-	do
+	for i in $(seq 0 $(($1-1))); do
 		eval kill -KILL \$pid$i 2> /dev/null
 		eval wait \$pid$i
 
 		rmdir /dev/memcg/$i 2> /dev/null
 	done
 
-	do_cleanup
+	cleanup
 }
 
-testcase_1()
+test1()
 {
 	tst_res TINFO "testcase 1 started...it will run for $RUN_TIME secs"
 
@@ -105,7 +97,7 @@ testcase_1()
 	tst_res TPASS "stress test 1 passed"
 }
 
-testcase_2()
+test2()
 {
 	tst_res TINFO "testcase 2 started...it will run for $RUN_TIME secs"
 


More information about the ltp mailing list