3f63661afc
Instead of instanciating crosvm directly, we can start the binary as a sub-process. This includes parsing of crosvm options in the tests, and makes the test cases closer to real-world usage. To make make this possible, we need to make sure that the crosvm binary is uploaded to the VM before running the test, which is done by the sync_so script, which is baked into the builder container. We prevent future container re-builds for just maintaining the script, I have removed them from the container, and call the scripts from the local source directly. The test runner is also updated to ensure all package binaries are built (currently only tests are built). BUG=b:182841358 TEST=./test_all passes Change-Id: I7dfd21abcb2b90fe125eb43f85572fbf645b888a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2744280 Tested-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.. | ||
guest_under_test | ||
tests | ||
Cargo.toml | ||
README.md | ||
run |
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.