crosvm/e2e_tests
Dennis Kempin 2b30441772 e2e_tests: Add sleep after creating vhost user backend
If crosvm launches quickly after starting the backend, it may
find that the device socket does not exist yet. This causes
occasional test failures.

Adding a sleep stabilizes the test a little, but should be replaced
with a proper wait loop while checking for the device socket to
become available.

BUG=b:269174700
TEST=./tools/run_tests --dut=host -E"package(e2e_tests)" \
  --no-unit-tests --repetitions 10

Change-Id: Ifaba81a5fb3628d07793b1310229de4a43d2a7b6
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4258306
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Commit-Queue: Dennis Kempin <denniskempin@google.com>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
2023-02-21 22:54:30 +00:00
..
guest_under_test
tests e2e_tests: Add sleep after creating vhost user backend 2023-02-21 22:54:30 +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.