Skip to contentSkip to conversation

controllers/cpuacct: rewrote testcases

PATCH New Cedric Hnyda 2 participants 2 messages Nov 11, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 controllers/cpuacct: rewrote testcases

Rewrote cpuacct testcases since they were outdated. Removed old files
Added 6 tests for cpuacct.

---
 runtest/controllers                                |   7 +
 testcases/kernel/controllers/cpuacct/.gitignore    |   2 +-
 testcases/kernel/controllers/cpuacct/README        |  51 ----
 testcases/kernel/controllers/cpuacct/cpuacct.sh    | 122 ++++++++
 .../kernel/controllers/cpuacct/cpuacct_setup.sh    | 122 --------
 .../kernel/controllers/cpuacct/cpuacct_task.c      |  47 +++
 .../kernel/controllers/cpuacct/cpuacct_task01.c    |  17 --
 .../controllers/cpuacct/cpuacct_testplan.txt       |  44 ---
 .../kernel/controllers/cpuacct/run_cpuacct_test.sh | 340 ---------------------
 9 files changed, 177 insertions(+), 575 deletions(-)
 delete mode 100644 testcases/kernel/controllers/cpuacct/README
 create mode 100755 testcases/kernel/controllers/cpuacct/cpuacct.sh
 delete mode 100755 testcases/kernel/controllers/cpuacct/cpuacct_setup.sh
 create mode 100644 testcases/kernel/controllers/cpuacct/cpuacct_task.c
 delete mode 100644 testcases/kernel/controllers/cpuacct/cpuacct_task01.c
 delete mode 100644 testcases/kernel/controllers/cpuacct/cpuacct_testplan.txt
 delete mode 100755 testcases/kernel/controllers/cpuacct/run_cpuacct_test.sh
runtest/controllers +7 -0
index 6d9daf4..4043caa 100644
@@ -197,6 +197,13 @@ cgroup_fj_stress_memory_1_100_100_2 run_cgroup_test_fj.sh stress memory 1 100 10
 
 controllers	test_controllers.sh
 
+cpuacct_1_1 cpuacct.sh 1 1
+cpuacct_1_10 cpuacct.sh 1 10
+cpuacct_10_10 cpuacct.sh 10 10
+cpuacct_1_100 cpuacct.sh 1 100
+cpuacct_100_1 cpuacct.sh 100 1
+cpuacct_100_100 cpuacct.sh 100 100
+
 cpuset_base_ops	cpuset_base_ops_testset.sh
 cpuset_inherit	cpuset_inherit_testset.sh
 cpuset_exclusive	cpuset_exclusive_test.sh
testcases/kernel/controllers/cpuacct/.gitignore +1 -1
index 0dfdad3..b7a47ad 100644
@@ -1 +1 @@
-/cpuacct_task01
+/cpuacct_task
testcases/kernel/controllers/cpuacct/README deleted +0 -51

51 lines not on this page · raw message

testcases/kernel/controllers/cpuacct/cpuacct.sh new file +122 -0

122 lines not on this page · raw message

testcases/kernel/controllers/cpuacct/cpuacct_setup.sh deleted +0 -122

122 lines not on this page · raw message

testcases/kernel/controllers/cpuacct/cpuacct_task.c new file +47 -0

47 lines not on this page · raw message

testcases/kernel/controllers/cpuacct/cpuacct_task01.c deleted +0 -17
deleted file mode 100644
index 67736e1..0000000
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-int main(void)
-{
-	FILE *fp;
-
-	while (1) {
-		fp = fopen("txt.x", "w");
-		if (fp == NULL) {
-			perror("fopen failed");
-			exit(1);
-		}
-		fclose(fp);
-	}
-	return 0;
-}
testcases/kernel/controllers/cpuacct/cpuacct_testplan.txt deleted +0 -44

44 lines not on this page · raw message

testcases/kernel/controllers/cpuacct/run_cpuacct_test.sh deleted +0 -340

340 lines not on this page · raw message

Signature · 1 line
2.1.4
#1 lore raw

PATCH v3 1/1 controllers/cpuacct: rewrote testcases

Hi!
Pushed with minor changes, see below.

testcases/kernel/controllers/cpuacct/cpuacct.sh line 43

Quoted 2 lines
testcases/kernel/controllers/cpuacct/cpuacct.sh new file +2 -0
+export TCID="cpuacct_$1_$2"
+export TST_TOTAL=3

The test prints PASS/FAIL twice -> corrected TST_TOTAL=2

testcases/kernel/controllers/cpuacct/cpuacct.sh line 48

Quoted 4 lines

+. test.sh

testcases/kernel/controllers/cpuacct/cpuacct.sh new file +3 -0
+
+setup()
+{

I've added tst_require_root here since the test needs root permissions and moved the TST_CLEANUP=cleanup after the tst_require_root (since otherwise the cleanup would be called even when the tst_require_root exits the test before any setup was done).

Quoted 12 lines
testcases/kernel/controllers/cpuacct/cpuacct.sh new file +12 -0
+	mount_point=`grep -w cpuacct /proc/mounts | cut -f 2 | cut -d " " -f2`
+	tst_resm TINFO "cpuacct: $mount_point"
+	if [ "$mount_point" = "" ]; then
+		mounted=0
+		mount_point=/dev/cgroup
+	fi
+
+	testpath=$mount_point/ltp_$TCID
+
+	if [ "$mounted" -eq "0" ]; then
+		ROD mkdir -p $mount_point
+		ROD mount -t cgroup -o cpuacct none $mount_point

testcases/kernel/controllers/cpuacct/cpuacct.sh line 70

Quoted 10 lines
testcases/kernel/controllers/cpuacct/cpuacct.sh new file +10 -0
+	fi
+	ROD mkdir $testpath
+}
+
+cleanup()
+{
+	tst_resm TINFO "removing created directories"
+	rmdir $testpath/subgroup_*;
+	rmdir $testpath;
+	if [ "$mounted" -ne 1 ] ; then

I've removed the useless semicolons and the space before "; then"

Review

Quoted 2 lines
(quoted diff) +2 -0
+
+   

And two trailing whitespaces here.

Quoted 3 lines
testcases/kernel/controllers/cpuacct/cpuacct.sh new file +3 -0
+for job in `jobs -p`; do
+	wait $job
+done

...

Quoted 4 lines
testcases/kernel/controllers/cpuacct/cpuacct_task.c new file +4 -0
+/*
+* Description:
+* Write the current process in argv[1]
+*/

testcases/kernel/controllers/cpuacct/cpuacct_task.c line 32

Quoted 10 lines
testcases/kernel/controllers/cpuacct/cpuacct_task.c new file +10 -0
+
+#include <stdio.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+int main(int argc, char **argv)
+{
+	FILE *f;

And added:

        if (argc != 2) {
                fprintf(stderr, "Usage: %s /cgroup/.../tasks\n", argv[0]);
                return 1;
        }

here mostly to silence the unused argc warning.

testcases/kernel/controllers/cpuacct/cpuacct_task.c line 35

Quoted 2 lines
testcases/kernel/controllers/cpuacct/cpuacct_task.c new file +2 -0
+	f = fopen(argv[1], "a");
+	if (!f) {

And pushed, thanks.

Signature · 2 lines
Cyril Hrubis
[email protected]