File: builtin_ctx_field.cpp

package info (click to toggle)
bpftrace 0.24.1-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,496 kB
  • sloc: cpp: 60,982; ansic: 10,952; python: 953; yacc: 665; sh: 536; lex: 295; makefile: 22
file content (33 lines) | stat: -rw-r--r-- 404 bytes parent folder | download
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
#include "common.h"

namespace bpftrace::test::codegen {

TEST(codegen, builtin_ctx_field)
{
  std::string prog = R"(
struct c {
  char c;
};

struct x {
  long a;
  short b[4];
  struct c c;
  struct c *d;
  char e[4]
};

kprobe:f {
  $x = (struct x*)ctx;
  @a = $x->a;
  @b = $x->b[0];
  @c = $x->c.c;
  @d = $x->d->c;
  @e = $x->e;
}
)";

  test(prog, NAME);
}

} // namespace bpftrace::test::codegen