0001
0002 #include <test_progs.h>
0003 #include "get_func_args_test.skel.h"
0004
0005 void test_get_func_args_test(void)
0006 {
0007 struct get_func_args_test *skel = NULL;
0008 int err, prog_fd;
0009 LIBBPF_OPTS(bpf_test_run_opts, topts);
0010
0011 skel = get_func_args_test__open_and_load();
0012 if (!ASSERT_OK_PTR(skel, "get_func_args_test__open_and_load"))
0013 return;
0014
0015 err = get_func_args_test__attach(skel);
0016 if (!ASSERT_OK(err, "get_func_args_test__attach"))
0017 goto cleanup;
0018
0019
0020
0021
0022 prog_fd = bpf_program__fd(skel->progs.test1);
0023 err = bpf_prog_test_run_opts(prog_fd, &topts);
0024 ASSERT_OK(err, "test_run");
0025 ASSERT_EQ(topts.retval, 0, "test_run");
0026
0027
0028
0029
0030 prog_fd = bpf_program__fd(skel->progs.fmod_ret_test);
0031 err = bpf_prog_test_run_opts(prog_fd, &topts);
0032 ASSERT_OK(err, "test_run");
0033 ASSERT_EQ(topts.retval, 1234, "test_run");
0034
0035 ASSERT_EQ(skel->bss->test1_result, 1, "test1_result");
0036 ASSERT_EQ(skel->bss->test2_result, 1, "test2_result");
0037 ASSERT_EQ(skel->bss->test3_result, 1, "test3_result");
0038 ASSERT_EQ(skel->bss->test4_result, 1, "test4_result");
0039
0040 cleanup:
0041 get_func_args_test__destroy(skel);
0042 }