1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include "common.h"
namespace bpftrace::test::codegen {
TEST(codegen, struct_nested_struct_ptr_named)
{
test("struct Bar { int x; } struct Foo { struct Bar *bar; }"
"kprobe:f"
"{"
" $foo = *(struct Foo*)arg0;"
" @x = $foo.bar->x;"
"}",
std::string(NAME) + "_1");
test("struct Bar { int x; } struct Foo { struct Bar *bar; }"
"kprobe:f"
"{"
" $foo = (struct Foo*)arg0;"
" @x = $foo->bar->x;"
"}",
std::string(NAME) + "_2");
}
} // namespace bpftrace::test::codegen
|