NAME user_supplied_c_def_using_btf
PROG struct foo { struct task_struct t; } BEGIN { exit(); }
EXPECT Attaching 1 probe...
TIMEOUT 5
REQUIRES_FEATURE btf

NAME tracepoint_pointer_type_resolution
PROG tracepoint:syscalls:sys_enter_nanosleep { args->rqtp->tv_sec; exit(); }
EXPECT Attaching 1 probe...
TIMEOUT 5
REQUIRES_FEATURE btf

NAME tracepoint_nested_pointer_type_resolution
PROG tracepoint:napi:napi_poll { args->napi->dev->name; exit(); }
EXPECT Attaching 1 probe...
TIMEOUT 5
REQUIRES_FEATURE btf

NAME enum_value_reference
PROG BEGIN { printf("%d\n", sizeof(BTF_VAR_STATIC)); exit(); }
EXPECT ^8$
TIMEOUT 5
REQUIRES_FEATURE btf

NAME redefine_btf_type
PROG struct task_struct { int x; } BEGIN { printf("%d\n", curtask->x); }
EXPECT -?[0-9][0-9]*
TIMEOUT 5
REQUIRES_FEATURE btf

NAME redefine_btf_type_missing_def
PROG struct task_struct { struct thread_info x; } BEGIN { printf("%d\n", curtask->x.status); }
EXPECT error:.*'struct thread_info'
TIMEOUT 5
REQUIRES_FEATURE btf
