crosvm/e2e_tests
Zihan Chen 8f5225c042 e2e_tests: Allow TestVM to run with custom artifacts
TestVM can now be configured to run on specific local or remote
kernel, initrd and rootfs images. This allow us to broaden e2e test
coverages to more diverse use cases.

TESTED=Relevant test case passed CQ and locally

BUG=b:257303497
BUG=b:181105093

Change-Id: I1270a189105af89259371f54b7df227b3efae380
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4451468
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Zihan Chen <zihanchen@google.com>
2023-06-14 22:22:38 +00:00
..
benches
fixture e2e_tests: Allow TestVM to run with custom artifacts 2023-06-14 22:22:38 +00:00
guest_under_test e2e_tests: Add cgroup, unix socket, virtiofs DAX support to guest 2023-06-01 21:56:52 +00:00
tests vhost-user: Implement snapshot for device process handler 2023-06-14 21:50:13 +00:00
Cargo.toml
README.md
run

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.