crosvm/integration_tests
Daniel Verkamp 990a0ce365 integration_tests: search for mkfs.ext4 in sbin via PATH
Some distributions (such as Debian) put the mkfs.ext4 binary in /sbin or
/usr/sbin. However, in our case, we don't need to be root, since we are
only using it to create a filesystem inside a normal file, not on a
block device. Adding these directories to the path lets us find the mkfs
binary on these systems without requiring sudo privileges.

BUG=None
TEST=cargo test -p integration_tests -- --test-threads=1

Change-Id: I9b180f941ee81c5febf78004050d211fe1912621
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3940108
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Junichi Uekawa <uekawa@chromium.org>
2022-10-12 20:28:04 +00:00
..
guest_under_test Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tests integration_tests: search for mkfs.ext4 in sbin via PATH 2022-10-12 20:28:04 +00:00
Cargo.toml prebuilts: move prebuilts tests under tests 2022-10-07 15:54:37 +00:00
README.md docs: Use mdformat to format markdown files 2022-01-27 21:29:11 +00:00
run Update all copyright headers to match new style 2022-09-13 18:41:29 +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.