0001
0002 #include <test_progs.h>
0003 #include "get_func_ip_test.skel.h"
0004
0005 void test_get_func_ip_test(void)
0006 {
0007 struct get_func_ip_test *skel = NULL;
0008 int err, prog_fd;
0009 LIBBPF_OPTS(bpf_test_run_opts, topts);
0010
0011 skel = get_func_ip_test__open();
0012 if (!ASSERT_OK_PTR(skel, "get_func_ip_test__open"))
0013 return;
0014
0015
0016
0017
0018 #ifndef __x86_64__
0019 bpf_program__set_autoload(skel->progs.test6, false);
0020 bpf_program__set_autoload(skel->progs.test7, false);
0021 #endif
0022
0023 err = get_func_ip_test__load(skel);
0024 if (!ASSERT_OK(err, "get_func_ip_test__load"))
0025 goto cleanup;
0026
0027 err = get_func_ip_test__attach(skel);
0028 if (!ASSERT_OK(err, "get_func_ip_test__attach"))
0029 goto cleanup;
0030
0031 prog_fd = bpf_program__fd(skel->progs.test1);
0032 err = bpf_prog_test_run_opts(prog_fd, &topts);
0033 ASSERT_OK(err, "test_run");
0034 ASSERT_EQ(topts.retval, 0, "test_run");
0035
0036 prog_fd = bpf_program__fd(skel->progs.test5);
0037 err = bpf_prog_test_run_opts(prog_fd, &topts);
0038
0039 ASSERT_OK(err, "test_run");
0040
0041 ASSERT_EQ(skel->bss->test1_result, 1, "test1_result");
0042 ASSERT_EQ(skel->bss->test2_result, 1, "test2_result");
0043 ASSERT_EQ(skel->bss->test3_result, 1, "test3_result");
0044 ASSERT_EQ(skel->bss->test4_result, 1, "test4_result");
0045 ASSERT_EQ(skel->bss->test5_result, 1, "test5_result");
0046 #ifdef __x86_64__
0047 ASSERT_EQ(skel->bss->test6_result, 1, "test6_result");
0048 ASSERT_EQ(skel->bss->test7_result, 1, "test7_result");
0049 #endif
0050
0051 cleanup:
0052 get_func_ip_test__destroy(skel);
0053 }