1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#include "common.h"
namespace bpftrace::test::codegen {
TEST(codegen, call_pid_tid)
{
test("kprobe:f { @x = pid(); @y = tid() }", NAME);
}
TEST(codegen, call_pid_tid_in_child_ns)
{
auto bpftrace = get_mock_bpftrace();
bpftrace->mock_in_init_pid_ns = false;
bpftrace->helper_check_level_ = 0;
test(*bpftrace, "kprobe:f { @x = pid(); @y = tid() }", NAME);
}
TEST(codegen, call_pid_tid_curr_ns)
{
test("kprobe:f { @x = pid(curr_ns); @y = tid(curr_ns) }", NAME);
}
TEST(codegen, call_pid_tid_curr_ns_in_child_ns)
{
auto bpftrace = get_mock_bpftrace();
bpftrace->mock_in_init_pid_ns = false;
bpftrace->helper_check_level_ = 0;
test(*bpftrace, "kprobe:f { @x = pid(curr_ns); @y = tid(curr_ns) }", NAME);
}
TEST(codegen, call_pid_tid_init)
{
test("kprobe:f { @x = pid(init); @y = tid(init) }", NAME);
}
TEST(codegen, call_pid_tid_init_ns_in_child_ns)
{
auto bpftrace = get_mock_bpftrace();
bpftrace->mock_in_init_pid_ns = false;
bpftrace->helper_check_level_ = 0;
test(*bpftrace, "kprobe:f { @x = pid(init); @y = tid(init) }", NAME);
}
} // namespace bpftrace::test::codegen
|