Unverified Commit 28df7515 authored by Andrei Vagin's avatar Andrei Vagin Committed by Christian Brauner
Browse files

selftests/clone3: report a correct number of fails



In clone3_set_tid, a few test cases are running in a child process.  And
right now, if one of these test cases fails, the whole test will exit
with the success status.

Fixes: 41585bbe ("selftests: add tests for clone3() with *set_tid")
Signed-off-by: default avatarAndrei Vagin <avagin@gmail.com>
Link: https://lore.kernel.org/r/20191118064750.408003-2-avagin@gmail.com


Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 4f5c289e
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ int main(int argc, char *argv[])
		 */
		test_clone3_set_tid(set_tid, 3, CLONE_NEWPID, 0, 42, true);

		child_exit(ksft_cnt.ksft_pass);
		child_exit(ksft_cnt.ksft_fail);
	}

	close(pipe_1[1]);
@@ -366,12 +366,8 @@ int main(int argc, char *argv[])
	if (!WIFEXITED(status))
		ksft_test_result_fail("Child error\n");

	if (WEXITSTATUS(status))
		/*
		 * Update the number of total tests with the tests from the
		 * child processes.
		 */
		ksft_cnt.ksft_pass = WEXITSTATUS(status);
	ksft_cnt.ksft_pass += 4 - (ksft_cnt.ksft_fail - WEXITSTATUS(status));
	ksft_cnt.ksft_fail = WEXITSTATUS(status);

	if (ns3 == pid && ns2 == 42 && ns1 == 1)
		ksft_test_result_pass(