summary refs log tree commit diff
path: root/nixos/tests/bpf.nix
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2021-12-04 10:20:26 +0900
committerDominique Martinet <asmadeus@codewreck.org>2021-12-04 21:12:07 +0900
commit559fe436657bf68f83718548c02cdcd6e93e6add (patch)
treea541a82423a435bf4573b4262bda9eb2efa934be /nixos/tests/bpf.nix
parent2318433b7388444c67a54cc79a9d7baf7df27e26 (diff)
downloadnixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar.gz
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar.bz2
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar.lz
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar.xz
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.tar.zst
nixpkgs-559fe436657bf68f83718548c02cdcd6e93e6add.zip
nixos/tests: add bpf test
test bcc and bpftrace briefly
Diffstat (limited to 'nixos/tests/bpf.nix')
-rw-r--r--nixos/tests/bpf.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/nixos/tests/bpf.nix b/nixos/tests/bpf.nix
new file mode 100644
index 00000000000..233c7dab1ee
--- /dev/null
+++ b/nixos/tests/bpf.nix
@@ -0,0 +1,25 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "bpf";
+  meta.maintainers = with pkgs.lib.maintainers; [ martinetd ];
+
+  machine = { pkgs, ... }: {
+    programs.bcc.enable = true;
+    environment.systemPackages = with pkgs; [ bpftrace ];
+  };
+
+  testScript = ''
+    ## bcc
+    # syscount -d 1 stops 1s after probe started so is good for that
+    print(machine.succeed("syscount -d 1"))
+
+    ## bpftrace
+    # list probes
+    machine.succeed("bpftrace -l")
+    # simple BEGIN probe (user probe on bpftrace itself)
+    print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\"); exit(); }'"))
+    # tracepoint
+    print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit(); }'"))
+    # kprobe
+    print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
+  '';
+})