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
1 changed files with 20 additions and 7 deletions

View File

@ -17,6 +17,8 @@
#include <sys/stat.h>
#include <sys/wait.h>
#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();
}
exit(ret);
ksft_print_cnts();
if (ret)
ksft_exit_fail();
else
ksft_exit_pass();
}
waitpid(pid2, &status, P_ALL);
return 0;
return ksft_exit_pass();
}