Browse Source

squash! Make sure that the test_rust.sh script fails when a test fails

Also make sure that we're actually running the test from within the right
cwd, like we do when we're building.  This seems necessary to avoid
an error when running offline.

Amusingly, it appears that we had this bug before: we just weren't
noticing it, because of bug 26258.
Nick Mathewson 7 years ago
parent
commit
ee860b8f37
2 changed files with 10 additions and 5 deletions
  1. 1 0
      src/test/include.am
  2. 9 5
      src/test/test_rust.sh

+ 1 - 0
src/test/include.am

@@ -9,6 +9,7 @@ TESTS_ENVIRONMENT = \
 	export builddir="$(builddir)"; \
 	export builddir="$(builddir)"; \
 	export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)"; \
 	export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)"; \
 	export CARGO="$(CARGO)"; \
 	export CARGO="$(CARGO)"; \
+	export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \
 	export CARGO_ONLINE="$(CARGO_ONLINE)";
 	export CARGO_ONLINE="$(CARGO_ONLINE)";
 
 
 TESTSCRIPTS = \
 TESTSCRIPTS = \

+ 9 - 5
src/test/test_rust.sh

@@ -4,11 +4,15 @@
 set -e
 set -e
 
 
 
 
-for cargo_toml in "${abs_top_srcdir:-../../..}"/src/rust/*/Cargo.toml; do
-    CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
-    CARGO_HOME="${abs_top_builddir:-../../..}/src/rust" \
-    "${CARGO:-cargo}" test --all-features ${CARGO_ONLINE-"--frozen"} \
-    --manifest-path "$cargo_toml" || exitcode=1
+for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do
+    if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then
+	cd "${cargo_toml_dir}" && \
+	    CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
+	    CARGO_HOME="${abs_top_builddir:-../../..}/src/rust" \
+	    "${CARGO:-cargo}" test --all-features ${CARGO_ONLINE:-"--frozen"} \
+	    ${EXTRA_CARGO_OPTIONS} \
+	    --manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1
+    fi
 done
 done
 
 
 exit $exitcode
 exit $exitcode