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