ソースを参照

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 年 前
コミット
ee860b8f37
2 ファイル変更10 行追加5 行削除
  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