Selaa lähdekoodia

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 6 vuotta sitten
vanhempi
commit
ee860b8f37
2 muutettua tiedostoa jossa 10 lisäystä ja 5 poistoa
  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 TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)"; \
 	export CARGO="$(CARGO)"; \
+	export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \
 	export CARGO_ONLINE="$(CARGO_ONLINE)";
 
 TESTSCRIPTS = \

+ 9 - 5
src/test/test_rust.sh

@@ -4,11 +4,15 @@
 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
 
 exit $exitcode