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 <shuahkh@osg.samsung.com>
This commit is contained in:
Shuah Khan 2014-10-03 09:08:14 -06:00
parent 56661564e1
commit e061bcd885

View file

@ -17,6 +17,8 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/wait.h> #include <sys/wait.h>
#include "../kselftest.h"
static long sys_kcmp(int pid1, int pid2, int type, int fd1, int fd2) static long sys_kcmp(int pid1, int pid2, int type, int fd1, int fd2)
{ {
return syscall(__NR_kcmp, pid1, pid2, type, fd1, fd2); return syscall(__NR_kcmp, pid1, pid2, type, fd1, fd2);
@ -34,13 +36,13 @@ int main(int argc, char **argv)
if (fd1 < 0) { if (fd1 < 0) {
perror("Can't create file"); perror("Can't create file");
exit(1); ksft_exit_fail();
} }
pid2 = fork(); pid2 = fork();
if (pid2 < 0) { if (pid2 < 0) {
perror("fork failed"); perror("fork failed");
exit(1); ksft_exit_fail();
} }
if (!pid2) { if (!pid2) {
@ -50,7 +52,7 @@ int main(int argc, char **argv)
fd2 = open(kpath, O_RDWR, 0644); fd2 = open(kpath, O_RDWR, 0644);
if (fd2 < 0) { if (fd2 < 0) {
perror("Can't open file"); perror("Can't open file");
exit(1); ksft_exit_fail();
} }
/* An example of output and arguments */ /* An example of output and arguments */
@ -74,23 +76,34 @@ int main(int argc, char **argv)
if (ret) { if (ret) {
printf("FAIL: 0 expected but %d returned (%s)\n", printf("FAIL: 0 expected but %d returned (%s)\n",
ret, strerror(errno)); ret, strerror(errno));
ksft_inc_fail_cnt();
ret = -1; ret = -1;
} else } else {
printf("PASS: 0 returned as expected\n"); printf("PASS: 0 returned as expected\n");
ksft_inc_pass_cnt();
}
/* Compare with self */ /* Compare with self */
ret = sys_kcmp(pid1, pid1, KCMP_VM, 0, 0); ret = sys_kcmp(pid1, pid1, KCMP_VM, 0, 0);
if (ret) { if (ret) {
printf("FAIL: 0 expected but %d returned (%s)\n", printf("FAIL: 0 expected but %d returned (%s)\n",
ret, strerror(errno)); ret, strerror(errno));
ksft_inc_fail_cnt();
ret = -1; ret = -1;
} else } else {
printf("PASS: 0 returned as expected\n"); printf("PASS: 0 returned as expected\n");
ksft_inc_pass_cnt();
}
exit(ret); ksft_print_cnts();
if (ret)
ksft_exit_fail();
else
ksft_exit_pass();
} }
waitpid(pid2, &status, P_ALL); waitpid(pid2, &status, P_ALL);
return 0; return ksft_exit_pass();
} }