crosvm/integration_tests
Keiichi Watanabe 0974be8042 integration_tests: Define Config struct
Define `struct Config` to specify crosvm arguments so it'll make it
easier to add more complicated arguments in future CLs.

BUG=b:220292205
TEST=./integration_tests/run

Change-Id: I89921e171a81071dbfc58d22b233e9c71abcdf54
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3686717
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-06-22 01:46:18 +00:00
..
guest_under_test
tests integration_tests: Define Config struct 2022-06-22 01:46:18 +00:00
Cargo.toml Make crosvm.rs a mod instead of a separate lib crate 2022-06-02 18:56:24 +00:00
README.md
run Run integration_tests by calling crosvm binary 2021-03-19 20:35:53 +00:00

Crosvm Integration 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
  • src/third_party/chromiumos-overlay/chromeos-base/crosvm/crosvm-9999.ebuild

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.