google/crosvm-testing
Skill to assist with running tests and managing test VMs in the crosvm repository.
npx skills add https://github.com/google/crosvm --skill crosvm-testing
tools/run_tests & tools/testvm)This skill covers running the crosvm test suite and managing the virtual machines used for
integration testing.
> [!TIP] When you have completed your code changes and are ready to commit or upload, please run the
> overall presubmit checks according to the crosvm-contribution-workflow
> SKILL.md.
tools/run_tests)The tools/run_tests script is the primary test runner. It supports unit tests (running on the host
or via emulators) and integration tests (running on a test VM or the host).
./tools/run_tests
./tools/run_tests -p <platform>
Supported platforms: x86_64, aarch64, armhw, mingw64, riscv64. *Example for ARM64*:
./tools/run_tests -p aarch64 *Example for Windows (via Wine)*: ./tools/run_tests -p mingw64
Integration tests require a Device Under Test (DUT).
./tools/run_tests --dut=vm
This will automatically start a test VM, run the tests inside it, and keep the VM running for
subsequent runs.
./tools/run_tests --dut=host
*Note: This may not work on all host configurations and might require root.*
The runner supports nextest filter expressions using the -E or --filter-expr flag. See
nextest documentation for details.
./tools/run_tests -E 'package(devices)'
./tools/run_tests -E 'test(test_send_cmd_not_ready)'
./tools/run_tests -E 'deps(vm_control)'
--no-unit-tests: Skip unit tests and only run integration tests.--no-integration-tests: Skip integration tests.--run-root-tests: Enable integration tests that require root privileges.--retries <N>: Retry failed tests N times.--repetitions <N>: Repeat all tests N times (useful for detecting flakiness).______________________________________________________________________
tools/testvm, tools/x86vm, tools/aarch64vm)For integration testing (--dut=vm), crosvm uses test VMs. You can manage these VMs using
tools/x86vm (for x86_64) or tools/aarch64vm (for ARM64). These are wrappers around
tools/testvm.
Replace x86vm with aarch64vm in the commands below depending on the architecture you are
testing.
./tools/x86vm up
./tools/x86vm shell
*(This will start the VM if it is not already running).*
./tools/x86vm stop
./tools/x86vm kill
./tools/x86vm logs
./tools/x86vm clean
Take google/crosvm-testing from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.