1*3b2ad502SAndrii Nakryiko // SPDX-License-Identifier: GPL-2.0
2*3b2ad502SAndrii Nakryiko /* Copyright (c) 2021 Facebook */
3*3b2ad502SAndrii Nakryiko 
4*3b2ad502SAndrii Nakryiko #include <test_progs.h>
5*3b2ad502SAndrii Nakryiko #include <sys/syscall.h>
6*3b2ad502SAndrii Nakryiko #include "linked_maps.skel.h"
7*3b2ad502SAndrii Nakryiko 
test_linked_maps(void)8*3b2ad502SAndrii Nakryiko void test_linked_maps(void)
9*3b2ad502SAndrii Nakryiko {
10*3b2ad502SAndrii Nakryiko 	int err;
11*3b2ad502SAndrii Nakryiko 	struct linked_maps *skel;
12*3b2ad502SAndrii Nakryiko 
13*3b2ad502SAndrii Nakryiko 	skel = linked_maps__open_and_load();
14*3b2ad502SAndrii Nakryiko 	if (!ASSERT_OK_PTR(skel, "skel_open"))
15*3b2ad502SAndrii Nakryiko 		return;
16*3b2ad502SAndrii Nakryiko 
17*3b2ad502SAndrii Nakryiko 	err = linked_maps__attach(skel);
18*3b2ad502SAndrii Nakryiko 	if (!ASSERT_OK(err, "skel_attach"))
19*3b2ad502SAndrii Nakryiko 		goto cleanup;
20*3b2ad502SAndrii Nakryiko 
21*3b2ad502SAndrii Nakryiko 	/* trigger */
22*3b2ad502SAndrii Nakryiko 	syscall(SYS_getpgid);
23*3b2ad502SAndrii Nakryiko 
24*3b2ad502SAndrii Nakryiko 	ASSERT_EQ(skel->bss->output_first1, 2000, "output_first1");
25*3b2ad502SAndrii Nakryiko 	ASSERT_EQ(skel->bss->output_second1, 2, "output_second1");
26*3b2ad502SAndrii Nakryiko 	ASSERT_EQ(skel->bss->output_weak1, 2, "output_weak1");
27*3b2ad502SAndrii Nakryiko 
28*3b2ad502SAndrii Nakryiko cleanup:
29*3b2ad502SAndrii Nakryiko 	linked_maps__destroy(skel);
30*3b2ad502SAndrii Nakryiko }
31