Added integration test which fails on zero-length read

reviewable/pr1218/r1
Ryan Alameddine 1 month ago
parent e3aa47f0db
commit 6f404f5edb

@ -89,3 +89,7 @@ path = "src/xdp_sec.rs"
[[bin]]
name = "uprobe_cookie"
path = "src/uprobe_cookie.rs"
[[bin]]
name = "socket_filter"
path = "src/socket_filter.rs"

@ -0,0 +1,20 @@
#![no_std]
#![no_main]
use aya_ebpf::{macros::socket_filter, programs::SkBuffContext};
#[socket_filter]
pub fn read_one(ctx: SkBuffContext) -> i64 {
// Read 1 byte
let mut dst = [0; 1];
let _ = ctx.load_bytes(0, &mut dst);
0
}
#[cfg(not(test))]
#[panic_handler]
fn panic(_info: &core::panic::PanicInfo) -> ! {
loop {}
}

@ -32,6 +32,7 @@ pub const TEST: &[u8] = include_bytes_aligned!(concat!(env!("OUT_DIR"), "/test")
pub const TWO_PROGS: &[u8] = include_bytes_aligned!(concat!(env!("OUT_DIR"), "/two_progs"));
pub const XDP_SEC: &[u8] = include_bytes_aligned!(concat!(env!("OUT_DIR"), "/xdp_sec"));
pub const UPROBE_COOKIE: &[u8] = include_bytes_aligned!(concat!(env!("OUT_DIR"), "/uprobe_cookie"));
pub const SOCKET_FILTER: &[u8] = include_bytes_aligned!(concat!(env!("OUT_DIR"), "/socket_filter"));
#[cfg(test)]
mod tests;

@ -14,3 +14,4 @@ mod strncmp;
mod tcx;
mod uprobe_cookie;
mod xdp;
mod socket_filter;

@ -0,0 +1,13 @@
use aya::{programs::SocketFilter, Ebpf};
#[test]
fn socket_filter_load() {
let mut bpf = Ebpf::load(crate::SOCKET_FILTER).unwrap();
let prog: &mut SocketFilter = bpf
.program_mut("read_one")
.unwrap()
.try_into()
.unwrap();
prog.load().unwrap();
}
Loading…
Cancel
Save