summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/coredump/coredump_test.h
blob: 1c154f513700812e0996e4c7ab1efddadf548e5d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef __COREDUMP_TEST_H
#define __COREDUMP_TEST_H

#include "../kselftest_harness.h"
#include "coredump_notify_signal.h"

#include "coredump_test_helpers.h"

/* Coredump fixture */
FIXTURE(coredump)
{
	char original_core_pattern[256];
	pid_t pid_coredump_server;
	int fd_tmpfs_detached;
};

/* Inline helper that uses harness types */
static inline void wait_and_check_coredump_server(pid_t pid_coredump_server,
						   struct __test_metadata *const _metadata,
						   FIXTURE_DATA(coredump) *self)
{
	int status;
	waitpid(pid_coredump_server, &status, 0);
	self->pid_coredump_server = -ESRCH;
	ASSERT_TRUE(WIFEXITED(status));
	ASSERT_EQ(WEXITSTATUS(status), 0);
}

#endif /* __COREDUMP_TEST_H */