From e061bcd88573863daef2c67888ced5333b2ba536 Mon Sep 17 00:00:00 2001 From: Shuah Khan Date: Fri, 3 Oct 2014 09:08:14 -0600 Subject: selftests/kcmp: change test to use ksft framework Change kcmp test to use kselftest framework to report test results and test statistics. Signed-off-by: Shuah Khan --- tools/testing/selftests/kcmp/kcmp_test.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'tools/testing/selftests/kcmp') diff --git a/tools/testing/selftests/kcmp/kcmp_test.c b/tools/testing/selftests/kcmp/kcmp_test.c index dbba4084869c..a5a4da856dfe 100644 --- a/tools/testing/selftests/kcmp/kcmp_test.c +++ b/tools/testing/selftests/kcmp/kcmp_test.c @@ -17,6 +17,8 @@ #include #include +#include "../kselftest.h" + static long sys_kcmp(int pid1, int pid2, int type, int fd1, int fd2) { return syscall(__NR_kcmp, pid1, pid2, type, fd1, fd2); @@ -34,13 +36,13 @@ int main(int argc, char **argv) if (fd1 < 0) { perror("Can't create file"); - exit(1); + ksft_exit_fail(); } pid2 = fork(); if (pid2 < 0) { perror("fork failed"); - exit(1); + ksft_exit_fail(); } if (!pid2) { @@ -50,7 +52,7 @@ int main(int argc, char **argv) fd2 = open(kpath, O_RDWR, 0644); if (fd2 < 0) { perror("Can't open file"); - exit(1); + ksft_exit_fail(); } /* An example of output and arguments */ @@ -74,23 +76,34 @@ int main(int argc, char **argv) if (ret) { printf("FAIL: 0 expected but %d returned (%s)\n", ret, strerror(errno)); + ksft_inc_fail_cnt(); ret = -1; - } else + } else { printf("PASS: 0 returned as expected\n"); + ksft_inc_pass_cnt(); + } /* Compare with self */ ret = sys_kcmp(pid1, pid1, KCMP_VM, 0, 0); if (ret) { printf("FAIL: 0 expected but %d returned (%s)\n", ret, strerror(errno)); + ksft_inc_fail_cnt(); ret = -1; - } else + } else { printf("PASS: 0 returned as expected\n"); + ksft_inc_pass_cnt(); + } + + ksft_print_cnts(); - exit(ret); + if (ret) + ksft_exit_fail(); + else + ksft_exit_pass(); } waitpid(pid2, &status, P_ALL); - return 0; + return ksft_exit_pass(); } -- cgit v1.2.3-59-g8ed1b From 41ec8cdcfaf98db194807ac38a685b52387604c3 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 2 Dec 2014 16:52:07 +1100 Subject: selftests/kcmp: Don't include kernel headers The kcmp test mucks with the include path to bring in the kernel headers, and x86 headers too for reasons that are not clear. Now that kcmp.h is exported none of that should be necessary. Signed-off-by: Michael Ellerman Acked-by: Cyrill Gorcunov Signed-off-by: Shuah Khan --- tools/testing/selftests/kcmp/Makefile | 4 ---- 1 file changed, 4 deletions(-) (limited to 'tools/testing/selftests/kcmp') diff --git a/tools/testing/selftests/kcmp/Makefile b/tools/testing/selftests/kcmp/Makefile index 8aabd82db9e4..4f00c0524501 100644 --- a/tools/testing/selftests/kcmp/Makefile +++ b/tools/testing/selftests/kcmp/Makefile @@ -8,11 +8,7 @@ ifeq ($(ARCH),x86_64) ARCH := x86 CFLAGS := -DCONFIG_X86_64 -D__x86_64__ endif - -CFLAGS += -I../../../../arch/x86/include/generated/ -CFLAGS += -I../../../../include/ CFLAGS += -I../../../../usr/include/ -CFLAGS += -I../../../../arch/x86/include/ all: ifeq ($(ARCH),x86) -- cgit v1.2.3-59-g8ed1b From 4c12df63f7ff27fe2e14f243a6906ad84e641964 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Tue, 2 Dec 2014 16:52:08 +1100 Subject: selftests/kcmp: Always try to build the test Don't prevent the test building on non-x86. Just try and build it and let the chips fall where they may. Add support for CROSS_COMPILE while we're at it. Also we don't need a custom rule for building kcmp_test. Signed-off-by: Michael Ellerman Reviewed-by: Christopher Covington Signed-off-by: Shuah Khan --- tools/testing/selftests/kcmp/Makefile | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) (limited to 'tools/testing/selftests/kcmp') diff --git a/tools/testing/selftests/kcmp/Makefile b/tools/testing/selftests/kcmp/Makefile index 4f00c0524501..ff0eefdc6ceb 100644 --- a/tools/testing/selftests/kcmp/Makefile +++ b/tools/testing/selftests/kcmp/Makefile @@ -1,21 +1,7 @@ -uname_M := $(shell uname -m 2>/dev/null || echo not) -ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/) -ifeq ($(ARCH),i386) - ARCH := x86 - CFLAGS := -DCONFIG_X86_32 -D__i386__ -endif -ifeq ($(ARCH),x86_64) - ARCH := x86 - CFLAGS := -DCONFIG_X86_64 -D__x86_64__ -endif +CC := $(CROSS_COMPILE)$(CC) CFLAGS += -I../../../../usr/include/ -all: -ifeq ($(ARCH),x86) - gcc $(CFLAGS) kcmp_test.c -o kcmp_test -else - echo "Not an x86 target, can't build kcmp selftest" -endif +all: kcmp_test run_tests: all @./kcmp_test || echo "kcmp_test: [FAIL]" -- cgit v1.2.3-59-g8ed1b