tests: Use the workspace to unit test all the crates

Make all the crates members of the workspace so that "cargo test
--workspace" will find them all and test them with the features enabled
that we use.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford 2020-01-02 18:40:37 +00:00 committed by Sebastien Boeuf
parent b6f6772df4
commit 134bcd84e6
2 changed files with 17 additions and 12 deletions

View File

@ -48,5 +48,20 @@ integration_tests = []
[workspace]
members = [
"arch",
"devices",
"vhost_rs",
"qcow",
"pci",
"vmm",
"vm-virtio",
"vm-device",
"vhost_user_backend",
"vhost_user_fs",
"vfio",
"net_util",
"acpi_tables",
"arch_gen",
"net_gen",
"vm-allocator",
]

View File

@ -2,23 +2,13 @@
source $HOME/.cargo/env
# More effective than just cargo test --all as it captures crates within crates
for f in $(find . -name Cargo.toml -printf '%h\n' | sort -u); do
pushd $f > /dev/null;
cargo test --no-run || exit 1;
popd > /dev/null;
done
cargo test --workspace --no-run
pushd target/debug
ls | grep net_util | grep -v "\.d" | xargs -n 1 sudo setcap cap_net_admin,cap_net_raw+ep
popd
sudo adduser $USER kvm
newgrp kvm << EOF || exit 1
for f in \$(find . -name Cargo.toml -printf '%h\n' | sort -u); do
pushd \$f > /dev/null;
export RUST_BACKTRACE=1
cargo test || exit 1;
popd > /dev/null;
done
cargo test --workspace || exit 1;
EOF