33 lines
666 B
C
33 lines
666 B
C
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
#include <test_progs.h>
|
||
|
#include "timer_crash.skel.h"
|
||
|
|
||
|
enum {
|
||
|
MODE_ARRAY,
|
||
|
MODE_HASH,
|
||
|
};
|
||
|
|
||
|
static void test_timer_crash_mode(int mode)
|
||
|
{
|
||
|
struct timer_crash *skel;
|
||
|
|
||
|
skel = timer_crash__open_and_load();
|
||
|
if (!ASSERT_OK_PTR(skel, "timer_crash__open_and_load"))
|
||
|
return;
|
||
|
skel->bss->pid = getpid();
|
||
|
skel->bss->crash_map = mode;
|
||
|
if (!ASSERT_OK(timer_crash__attach(skel), "timer_crash__attach"))
|
||
|
goto end;
|
||
|
usleep(1);
|
||
|
end:
|
||
|
timer_crash__destroy(skel);
|
||
|
}
|
||
|
|
||
|
void test_timer_crash(void)
|
||
|
{
|
||
|
if (test__start_subtest("array"))
|
||
|
test_timer_crash_mode(MODE_ARRAY);
|
||
|
if (test__start_subtest("hash"))
|
||
|
test_timer_crash_mode(MODE_HASH);
|
||
|
}
|