Unverified Commit 6f5bf9f3 authored by Nam Cao's avatar Nam Cao Committed by Christian Brauner
Browse files

selftests: coredump: Fix test failure for slow machines



The test waits for coredump to finish by busy-waiting for the stack_values
file to be created. The maximum wait time is 10 seconds.

This doesn't work for slow machine (qemu-system-riscv64), because coredump
takes longer.

Fix it by waiting for the crashing child process to finish first.

Fixes: 15858da5 ("selftests: coredump: Add stackdump test")
Signed-off-by: default avatarNam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/ee657f3fc8e19657cf7aaa366552d6347728f371.1744383419.git.namcao@linutronix.de


Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent e194d206
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ TEST_F(coredump, stackdump)
	char *test_dir, *line;
	size_t line_length;
	char buf[PATH_MAX];
	int ret, i;
	int ret, i, status;
	FILE *file;
	pid_t pid;

@@ -129,6 +129,10 @@ TEST_F(coredump, stackdump)
	/*
	 * Step 3: Wait for the stackdump script to write the stack pointers to the stackdump file
	 */
	waitpid(pid, &status, 0);
	ASSERT_TRUE(WIFSIGNALED(status));
	ASSERT_TRUE(WCOREDUMP(status));

	for (i = 0; i < 10; ++i) {
		file = fopen(STACKDUMP_FILE, "r");
		if (file)