Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e061bcd8 authored by Shuah Khan's avatar Shuah Khan
Browse files

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: default avatarShuah Khan <shuahkh@osg.samsung.com>
parent 56661564
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -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();
		}

		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();
}