mirror of https://github.com/aya-rs/aya
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			| This adds SchedClassifier::query_tcx() API that is able to return an ordered list of ProgramInfo (and revision) of an interface that has TCX programs attached. This is useful to verify the ordering of the programs in our integration tests, but also to for #1032. Additionally tidies up the macro used for TCX testing and adds assertions using this new API. Signed-off-by: Dave Tucker <dave@dtucker.co.uk> | 1 year ago | |
|---|---|---|
| .. | ||
| integration-ebpf | 1 year ago | |
| integration-test | 1 year ago | |
| .gitignore | 3 years ago | |
| README.md | 2 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	Aya Integration Tests
The aya integration test suite is a set of tests to ensure that common usage behaviours work on real Linux distros
Prerequisites
You'll need:
- rustup toolchain install nightly
- rustup target add {aarch64,x86_64}-unknown-linux-musl
- cargo install bpf-linker
- libelf-dev(- libelf-develon rpm-based distros)
- llvm(for- llvm-objcopy)
- (virtualized only) qemu
Usage
From the root of this repository:
Native
cargo xtask integration-test local
Virtualized
cargo xtask integration-test vm <KERNEL IMAGE>
Writing an integration test
Tests should follow these guidelines:
- Rust eBPF code should live in integration-ebpf/${NAME}.rsand included inintegration-ebpf/Cargo.tomlandintegration-test/src/lib.rsusinginclude_bytes_aligned!.
- C eBPF code should live in integration-test/bpf/${NAME}.bpf.c. It should be added to the list of files inintegration-test/build.rsand the list of constants inintegration-test/src/lib.rsusinginclude_bytes_aligned!.
- Tests should be added to integration-test/tests.
- You may add a new module, or use an existing one.
- Test functions should not return anyhow::Result<()>since this produces errors without stack traces. Prefer topanic!instead.