From 84a154a8ca4be35c7df569e24c9525284f685ad5 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Fri, 12 Aug 2016 10:27:15 -0700 Subject: [PATCH] Move integration tests into src/tools/tests. The integration tests use both libcretonne and libreader, so moving them avoids the circular dev-dependency. Also go back to building everything under src/tools/target to avoid rebuilding the libraries when cargo is invoked in different subdirectories. This speeds up test-all.sh quite a bit. Finally, skip the pure debug build. We build "cargo test" and "cargo build --release" which should cover everything we need. --- src/libcretonne/Cargo.toml | 5 ---- .../tests/cfg_traversal.rs | 0 .../tests/dominator_tree.rs | 0 src/{libcretonne => tools}/tests/lib.rs | 0 test-all.sh | 24 +++++++++++-------- 5 files changed, 14 insertions(+), 15 deletions(-) rename src/{libcretonne => tools}/tests/cfg_traversal.rs (100%) rename src/{libcretonne => tools}/tests/dominator_tree.rs (100%) rename src/{libcretonne => tools}/tests/lib.rs (100%) diff --git a/src/libcretonne/Cargo.toml b/src/libcretonne/Cargo.toml index cfd886391c..4d9b59bb43 100644 --- a/src/libcretonne/Cargo.toml +++ b/src/libcretonne/Cargo.toml @@ -11,8 +11,3 @@ build = "build.rs" [lib] name = "cretonne" path = "lib.rs" - -[dev-dependencies] -cretonne-reader = { path = "../libreader" } - -[dependencies] diff --git a/src/libcretonne/tests/cfg_traversal.rs b/src/tools/tests/cfg_traversal.rs similarity index 100% rename from src/libcretonne/tests/cfg_traversal.rs rename to src/tools/tests/cfg_traversal.rs diff --git a/src/libcretonne/tests/dominator_tree.rs b/src/tools/tests/dominator_tree.rs similarity index 100% rename from src/libcretonne/tests/dominator_tree.rs rename to src/tools/tests/dominator_tree.rs diff --git a/src/libcretonne/tests/lib.rs b/src/tools/tests/lib.rs similarity index 100% rename from src/libcretonne/tests/lib.rs rename to src/tools/tests/lib.rs diff --git a/test-all.sh b/test-all.sh index 28013ec2e3..4b65c9b56f 100755 --- a/test-all.sh +++ b/test-all.sh @@ -17,29 +17,33 @@ set -e cd $(dirname "$0") topdir=$(pwd) -PKGS="libcretonne libreader tools" -echo ====== Rust unit tests and debug builds ====== +function banner() { + echo "====== $@ ======" +} + +PKGS="cretonne cretonne-reader cretonne-tools" +cd "$topdir/src/tools" for PKG in $PKGS do - ( - cd $topdir/src/$PKG - cargo test - cargo build - ) + banner "Rust $PKG unit tests" + cargo test -p $PKG done # Build cton-util for parser testing. -echo ====== Rust release build and documentation ====== cd "$topdir/src/tools" +banner "Rust documentation" +echo "open $topdir/src/tools/target/doc/cretonne/index.html" cargo doc +banner "Rust release build" cargo build --release export CTONUTIL="$topdir/src/tools/target/release/cton-util" # Run the parser tests. -echo ====== Parser tests ====== cd "$topdir/tests" +banner "Parser tests" parser/run.sh +banner "CFG tests" cfg/run.sh -echo ====== OK ====== +banner "OK"