crosvm/e2e_tests
Dennis Kempin 6392b09a21 e2e_tests: Use virtio-console to speed up tests
Running all tests on a local workstation would take ~4-5s currently,
switching to virtio-console will significantly speed up the VM boot
and reduces the runtime to ~2-3s.

BUG=b:256652981
TEST=presubmit

Change-Id: I4ee87c9be4955d9dd89f30a72c91a1af96edf862
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4312801
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2023-03-08 23:16:38 +00:00
..
benches e2e_tests: Add strace and log settings to fixture 2023-03-02 22:07:33 +00:00
fixture e2e_tests: Use virtio-console to speed up tests 2023-03-08 23:16:38 +00:00
guest_under_test e2e_tests: Extend exec_in_guest functionality 2023-02-21 22:54:30 +00:00
tests e2e_tests: Use virtio-console to speed up tests 2023-03-08 23:16:38 +00:00
Cargo.toml e2e_tests: Restructure for initial benchmark support 2023-02-23 22:11:48 +00:00
README.md e2e_tests: Add a tool to dev_container and guest rootfs 2022-11-07 04:00:40 +00:00
run Rename integration_tests to e2e_tests 2022-11-03 22:49:39 +00:00

Crosvm End to End Tests

These tests run a crosvm VM on the host to verify end to end behavior. They use a prebuilt guest kernel and rootfs, which is downloaded from google cloud storage.

Running with locally built kernel/rootfs

If the test needs to run offline, or you want to make changes to the kernel or rootfs, you have to specify the environment variables CROSVM_CARGO_TEST_KERNEL_BINARY and CROSVM_CARGO_TEST_ROOTFS_IMAGE to point to the right files.

The use_local_build.sh script does this for you:

$ source guest_under_test/use_local_build.sh

Uploading prebuilts

Note: Only Googlers with access to the crosvm-testing cloud storage bin can upload prebuilts.

To upload the modified rootfs, you will have to uprev the PREBUILT_VERSION variable in:

  • ./guest_under_test/PREBUILT_VERSION

and request a permission to become a member of the crosvm-policy-uploader group. Then run the upload script to build and upload the new prebuilts. Never try to modify an existing prebuilt as the new images may break tests in older versions.