mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
add tests
This commit is contained in:
22
tests/failing_tests/vmlinux/assignment_handling.py
Normal file
22
tests/failing_tests/vmlinux/assignment_handling.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
from vmlinux import XDP_PASS
|
||||||
|
from pythonbpf import bpf, section, bpfglobal, compile_to_ir
|
||||||
|
import logging
|
||||||
|
from ctypes import c_int64, c_void_p
|
||||||
|
|
||||||
|
|
||||||
|
@bpf
|
||||||
|
@section("kprobe/blk_mq_start_request")
|
||||||
|
def example(ctx: c_void_p) -> c_int64:
|
||||||
|
d = XDP_PASS # This gives an error, but
|
||||||
|
e = XDP_PASS + 0 # this does not
|
||||||
|
print(f"test1 {e} test2 {d}")
|
||||||
|
return c_int64(0)
|
||||||
|
|
||||||
|
|
||||||
|
@bpf
|
||||||
|
@bpfglobal
|
||||||
|
def LICENSE() -> str:
|
||||||
|
return "GPL"
|
||||||
|
|
||||||
|
|
||||||
|
compile_to_ir("assignment_handling.py", "assignment_handling.ll", loglevel=logging.INFO)
|
||||||
@ -1,15 +1,16 @@
|
|||||||
from vmlinux import struct_request, struct_pt_regs, XDP_PASS
|
from vmlinux import struct_request, struct_pt_regs
|
||||||
from pythonbpf import bpf, section, bpfglobal, compile_to_ir
|
from pythonbpf import bpf, section, bpfglobal, compile_to_ir
|
||||||
import logging
|
import logging
|
||||||
|
from ctypes import c_int64, c_void_p
|
||||||
|
|
||||||
|
|
||||||
@bpf
|
@bpf
|
||||||
@section("kprobe/blk_mq_start_request")
|
@section("kprobe/blk_mq_start_request")
|
||||||
def example(ctx: struct_pt_regs):
|
def example(ctx: struct_pt_regs) -> c_int64:
|
||||||
req = struct_request(ctx.di)
|
req = struct_request(ctx.di)
|
||||||
c = req.__data_len
|
c = req.__data_len
|
||||||
d = XDP_PASS
|
print(f"data length {c}")
|
||||||
print(f"data length {c} and test {d}")
|
return c_int64(0)
|
||||||
|
|
||||||
|
|
||||||
@bpf
|
@bpf
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
from vmlinux import struct_kobj_type
|
from vmlinux import struct_request, struct_pt_regs, XDP_PASS
|
||||||
from pythonbpf import bpf, section, bpfglobal, compile_to_ir
|
from pythonbpf import bpf, section, bpfglobal, compile_to_ir
|
||||||
import logging
|
import logging
|
||||||
from ctypes import c_void_p
|
from ctypes import c_int64
|
||||||
|
|
||||||
|
|
||||||
@bpf
|
@bpf
|
||||||
@section("kprobe/blk_mq_start_request")
|
@section("kprobe/blk_mq_start_request")
|
||||||
def example(ctx: c_void_p):
|
def example(ctx: struct_pt_regs) -> c_int64:
|
||||||
print(f"data lengt")
|
req = ctx.di
|
||||||
|
print(f"data length {req}")
|
||||||
|
return c_int64(0)
|
||||||
|
|
||||||
|
|
||||||
@bpf
|
@bpf
|
||||||
@ -16,4 +18,4 @@ def LICENSE() -> str:
|
|||||||
return "GPL"
|
return "GPL"
|
||||||
|
|
||||||
|
|
||||||
compile_to_ir("requests.py", "requests.ll", loglevel=logging.INFO)
|
compile_to_ir("requests2.py", "requests2.ll", loglevel=logging.INFO)
|
||||||
|
|||||||
Reference in New Issue
Block a user