testing
Skill2.8k starsChanged 13 days agoApache-2.0View on GitHub
Run unit tests, integration tests, and FreeBSD guest tests for libkrun, or check CI test feature matrix. Use when running tests, executing make test or cargo test, or verifying test suites.
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 172 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
If /dev/kvm is unavailable, cargo test -p krun-kernel runs the kernel crate's unit tests without exercising the VMM tests.
“Common” is measured: kept by at least 6 in 10 of the 172 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Testing libkrun
Unit tests
Unit tests run directly via cargo test. Some VMM tests on Linux require read/write access to /dev/kvm.
cargo testIf /dev/kvm is unavailable, cargo test -p krun-kernel runs the kernel crate's unit tests without exercising the VMM tests.
Integration tests
Integration tests live in tests/ as a separate Cargo workspace. By default, make test builds the FFI libraries, installs them to test-prefix/, and runs the dynamically linked tests. Pass FFI=0 to run the statically linked tests without installing libkrun. A custom libkrunfw installed in test-prefix/ remains available to either mode.
Running guest tests requires host hypervisor access (KVM on Linux or HVF on macOS) and libkrunfw. Some cases also need tools such as passt, gvproxy, and container tooling; see the CI setup for the full environment.
# Run all integration tests
make test
# Run the statically linked integration tests
make test FFI=0
# Run a single integration test
make test TEST=net-gvproxy
# Glob / wildcard matching
make test TEST="net-*"
# Comma-separated list of tests
make test TEST="net-gvproxy,pjdfstest"
# Run tests with optional features enabled
make test BLK=1
# Build and test against custom libkrunfw from source
make test LIBKRUNFW_SRC=/path/to/libkrunfwFreeBSD guest tests
FreeBSD guest tests require building the FreeBSD init and sysroot first. They are automatically skipped if init-freebsd or the FreeBSD sysroot are not present.
# Build FreeBSD init and sysroot
make BUILD_BSD_INIT=1
# Run FreeBSD guest tests
make test TEST="freebsd-*"CI Feature Matrix
The CI runs the following test and lint matrix across platforms. Every clippy
command uses -D warnings, matching the workflows. Build the local library
with make test-prefix NET=1 BLK=1 FFI=1 before running the Linux test-crate
clippy commands that use test-prefix/.
Linux (x86_64)
- Unit tests:
cargo test(requires KVM access) - Clippy:
- Default:
cargo clippy --locked -- -D warnings - AMD SEV:
cargo clippy --locked --features amd-sev -- -D warnings - Intel TDX:
cargo clippy --locked --features tdx -- -D warnings - Devices:
cargo clippy --locked --features net,blk,gpu,input -- -D warnings - AWS Nitro:
cargo clippy --locked --features aws-nitro,net -- -D warnings
- Default:
- Integration tests:
make test FFI=0 NET=1 BLK=1andmake test FFI=1 NET=1 BLK=1(include FreeBSD guest tests when their prerequisites are present) - Test crate clippy:
- From
tests/:cargo clippy --locked -p test_cases --features guest -- -D warnings - From
tests/, with the test prefix environment:PKG_CONFIG_PATH="$(realpath ../test-prefix/lib64/pkgconfig/)" LD_LIBRARY_PATH="$(realpath ../test-prefix/lib64/)" cargo clippy --locked -p test_cases --features dynamic-linking -- -D warnings - From
tests/, with the test prefix environment:PKG_CONFIG_PATH="$(realpath ../test-prefix/lib64/pkgconfig/)" LD_LIBRARY_PATH="$(realpath ../test-prefix/lib64/)" cargo clippy --locked -p runner -- -D warnings - From
tests/:cargo clippy --locked --target x86_64-unknown-linux-musl -p guest-agent -- -D warnings
- From
- Examples clippy: From
examples/, after installing libkrun withGPU=1 NET=1 INPUT=1, runPKG_CONFIG_PATH="$HOME/libkrun-prefix/lib64/pkgconfig:$PKG_CONFIG_PATH" LD_LIBRARY_PATH="$HOME/libkrun-prefix/lib64:$LD_LIBRARY_PATH" cargo clippy --locked -- -D warnings - Bindings verification: Install
ffier-gen-c-headeras described in the bindings guide, runmake gen-libkrun-bindingsandmake gen-init-blob-bindings, then verifygit diff --exit-code bindings/ include/
Linux (aarch64)
- Unit tests:
cargo test - Clippy:
- Default:
cargo clippy --locked -- -D warnings - Devices:
cargo clippy --locked --features net,blk,gpu,input -- -D warnings
- Default:
- Integration tests:
make test FFI=0 NET=1 BLK=1andmake test FFI=1 NET=1 BLK=1(include FreeBSD guest tests when their prerequisites are present) - Test crate clippy:
- From
tests/:cargo clippy --locked -p test_cases --features guest -- -D warnings - From
tests/, with the test prefix environment:PKG_CONFIG_PATH="$(realpath ../test-prefix/lib64/pkgconfig/)" LD_LIBRARY_PATH="$(realpath ../test-prefix/lib64/)" cargo clippy --locked -p test_cases --features dynamic-linking -- -D warnings - From
tests/, with the test prefix environment:PKG_CONFIG_PATH="$(realpath ../test-prefix/lib64/pkgconfig/)" LD_LIBRARY_PATH="$(realpath ../test-prefix/lib64/)" cargo clippy --locked -p runner -- -D warnings - From
tests/:cargo clippy --locked --target aarch64-unknown-linux-musl -p guest-agent -- -D warnings
- From
- Examples clippy: From
examples/, after installing libkrun withGPU=1 NET=1 INPUT=1, runPKG_CONFIG_PATH="$HOME/libkrun-prefix/lib64/pkgconfig:$PKG_CONFIG_PATH" LD_LIBRARY_PATH="$HOME/libkrun-prefix/lib64:$LD_LIBRARY_PATH" cargo clippy --locked -- -D warnings
macOS (aarch64)
- Clippy:
cargo clippy --locked --features gpu -- -D warnings - Cross-compilation build:
make(Linux init) andmake BUILD_BSD_INIT=1(FreeBSD init)
Trending
Less talk lately.about the whole repository
Who's talking about containers/libkrun
- containerd/nerdbox“Add EROFS flatten device support (fsmerge feature)”GitHub · Nov 20, 2025 · 6 reactions
- kubeflow/sdk“Enable GPU Support in the Kubeflow SDK Container Backend”GitHub · Nov 14, 2025 · 4 reactions
- @imil.net“Le projet en question github.com/containers/l...”Bluesky · Jun 15, 2025 · 4 likes
- ggml-org/llama.cpp“ggml: new backend for Virglrenderer API Remoting acceleration (v2)”GitHub · Jan 9, 2026 · 3 reactions
- youki-dev/youki“[FEATURE]: Support libkrun”GitHub · Jul 19, 2025 · 3 reactions
The biggest 5 of 53 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 53
Talked about on GitHub and Bluesky (53 times).
On GitHub · 50
- Nov 20, 2025Add EROFS flatten device support (fsmerge feature) — containerd/nerdbox6 reactions · 3 comments
- Nov 14, 2025Enable GPU Support in the Kubeflow SDK Container Backend — kubeflow/sdk4 reactions · 6 comments
- Jan 9, 2026ggml: new backend for Virglrenderer API Remoting acceleration (v2) — ggml-org/llama.cpp3 reactions · 18 comments
- Jul 19, 2025[FEATURE]: Support libkrun — youki-dev/youki3 reactions · 3 comments
- Jan 12, 2025Add pipewire passthrough — AsahiLinux/muvm2 reactions · 3 comments
45 more on GitHub
- May 14, 2026krun: add support for nested virtualization — containers/crun1 reaction · 9 comments
- May 11, 2026Replace hardcoded init.krun with generic virtual file overlay — libkrun/libkrun1 reaction · 15 comments
- Apr 30, 2026windows: Fix polly and utils crates to compile on Windows — libkrun/libkrun1 reaction · 2 comments
- Apr 9, 2026nested virt on linux — libkrun/libkrun1 reaction · 4 comments
- Apr 5, 2026Enable offloading for 4-5x speedup — nohajc/anylinuxfs1 reaction · 30 comments
- Mar 14, 2026libkrun: Produce a proper Rust library — libkrun/libkrun1 reaction · 13 comments
- Mar 13, 2026devices: build init binary in Cargo `OUT_DIR` — libkrun/libkrun1 reaction
- Mar 9, 2026`USER` directive in a `Containerfile` doesn't change the user for `RUN` directives during `podman build` — libkrun/libkrun1 reaction
- Feb 12, 2026vsock/tsi: fix listen() with backlog > 128 fails with EINVAL — libkrun/libkrun1 reaction
- Dec 1, 2025Fix TSI datagram socket handling — libkrun/libkrunfw1 reaction · 2 comments
- Oct 24, 2025Add support for running a custom init (including systemd) — AsahiLinux/muvm1 reaction · 2 comments
- Oct 18, 2025passthrough.rs fails with cannot find type `statx` in crate `libc` — libkrun/libkrun1 reaction · 3 comments
- Oct 4, 2025Support for `libkrun` using `krunkit` — lima-vm/lima1 reaction · 19 comments
- Sep 11, 2025Add network sandbox passthrough for rootless/pre-setup applications, divorced functionality from OCI. — google/gvisor1 reaction · 1 comment
- Sep 9, 2024WIP: Automatically manage FEX rootfs — AsahiLinux/muvm1 reaction
- May 23, 2024Spike at integrating libkrun — podman-desktop/podman-desktop1 reaction · 1 comment
- May 22, 2024Add krunkit support on MacOS — bootc-dev/podman-bootc1 reaction · 4 comments
- Apr 8, 2024Support libkrun (mostly for Virtio-GPU Venus), maybe via krunkit — lima-vm/lima1 reaction · 34 comments
- Oct 8, 2026Update libkrun to 1.19.6 — gominimal/pkgs0 reactions · 4 comments
- Jul 20, 2026Update libkrun to 1.19.4 — gominimal/pkgs0 reactions
- Jul 9, 2026Update dependency libkrun/libkrun to v1.19.4 — stacklok/go-microvm0 reactions
- Jun 16, 2026Unable to compile `libkrun` post v1.16.0 as cargo dependency - transient dependency version mismatches — libkrun/libkrun0 reactions · 13 comments
- Jun 13, 2026Evaluate libkrun/krunkit Podman-machine provider to address AVF virtio-fs root cause (#376/#397 follow-up) — aviadshiber/kapsis0 reactions · 4 comments
- May 30, 2026virtio/fs: report actual bytes written in used ring len — libkrun/libkrun0 reactions · 2 comments
- May 29, 2026virtio/net: fix ENAMETOOLONG on long gvproxy socket paths (macOS) — libkrun/libkrun0 reactions · 4 comments
- May 20, 2026lib: remove deprecated APIs and implicit resource creation — libkrun/libkrun0 reactions · 5 comments
- May 19, 2026Bump libkrun to v1.18.0 and libkrunfw to v5.4.0 — stacklok/go-microvm0 reactions
- May 18, 2026examples/vsock-latency: reproducer for first-connection vsock delay — libkrun/libkrun0 reactions · 1 comment
- May 13, 2026muvm + libkrun — xieby1/runXonY0 reactions
- May 12, 2026config: enable KVM in embedded kernel — libkrun/libkrunfw0 reactions · 2 comments
- May 10, 2026Enable KRUN_INIT_PID1=1 when using krun — containers/crun0 reactions · 8 comments
- May 6, 2026build(deps): Bump vendor/libkrun from `73655fc` to `8018a20` — rvolosatovs/nixvm0 reactions
- May 4, 2026specgen: skip /dev/mqueue mount if not available — podman-container-tools/podman0 reactions · 2 comments
- May 2, 2026add musl cfg flag musl_v1_2_3 to enable statx — libkrun/libkrun0 reactions
- Apr 28, 2026rutabaga_gralloc: disable unit tests on macOS — magma-gpu/rutabaga_gfx0 reactions
- Apr 20, 2026muvm-guest: pwbridge: forward fds on send — AsahiLinux/muvm0 reactions · 2 comments
- Apr 13, 2026Fix cargo feature propagation — libkrun/libkrun0 reactions · 2 comments
- Apr 9, 2026VIRTIO_IOC_EXPORT_FD_REQ behavior when exporting the same FD multiple times — libkrun/libkrun0 reactions · 1 comment
- Apr 6, 2026[Project]: Libkrun — yncyrydybyl/ex-od-us0 reactions
- Feb 4, 2026Rewrite virtio-net IO to be more efficient — libkrun/libkrun0 reactions · 1 comment
- Nov 13, 2025libkrun-efi: macos doesn't work with external kernel: `FirmwareInvalidAddress(InvalidGuestAddress(GuestAddress(0)))` — libkrun/libkrun0 reactions · 3 comments
- Oct 18, 2025Build fails on llvm/musl/libcxx/aarch64 — libkrun/libkrun0 reactions
- Aug 13, 2025Should we use GuestRegionCollection? — libkrun/libkrun0 reactions · 2 comments
- May 12, 2025Virtio-fs escape outside of specified vm directory — libkrun/libkrun0 reactions · 1 comment
- Jan 24, 2021Add libkrun/chroot_vm — nicholasdille/packages0 reactions
On Bluesky · 3
- Jun 15, 2025Le projet en question github.com/containers/l... — @imil.net4 likes and reposts
- Feb 9, 2026containers / libkrun: A dynamic library providing Virtualization-based process isolation capabilities ★1572… — @rusttrending.bsky.social1 likes and repost
- Mar 18, 2025@lefinnois.bsky.social bon bah ça existe déjà :) github.com/containers/l... — @imil.net0 likes and reposts · 1 reply
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- modelcontextprotocol/servers★ 92ksame name
- lobehub/lobe-chat★ 84ksame name
- lobehub/lobehub★ 84ksame name
- penpot/penpot★ 62ksame name
- meteor/meteor★ 45ksame name
- iOfficeAI/AionUi★ 34ksame name
- garrytan/gbrain★ 31ksame name
- OpenZeppelin/openzeppelin-contracts★ 27ksame name
- tursodatabase/turso★ 25ksame name
- redis/go-redis★ 22ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use bundle-dependency-prs, update-library-template and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillbundle-dependency-prs
Fix broken dependency update PRs and aggregate the ones that work into one PR.
Also in 6 projects that use this
MicrosoftSkillupdate-library-template
Merges the latest Library.Template into this repo (at position of HEAD) and resolves conflicts.
Also in 6 projects that use this
zetaloopSkillassign-copilot
Assigns a GitHub issue to the Copilot coding agent, optionally specifying a custom agent. Use this when asked to assign an issue to Copilot or delegate an issue to CCA.
Also in 3 projects that use this
timmo001Skillchangeset-scope
Keep all scoped code work contained to the user-defined changeset. Use for implementation, fixes, diagnosis, refactoring, cleanup, and review when explicit instructions, named files, diffs, branches, pull requests, or injected work scopes define the boundary.
Also in 3 projects that use this
JetBrainsSkillmodule-dependencies
Add or modify IntelliJ module dependencies in `.iml` files.
Also in 3 projects that use this
CES-LtdSkilloss-pr
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
Also in 3 projects that use this
In this repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

