소스 검색

Merge remote-tracking branch 'public/bug26258_033' into maint-0.3.3

Nick Mathewson 6 년 전
부모
커밋
71065201dd
3개의 변경된 파일19개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 0
      changes/bug26258_033
  2. 1 0
      src/test/include.am
  3. 14 9
      src/test/test_rust.sh

+ 4 - 0
changes/bug26258_033

@@ -0,0 +1,4 @@
+  o Major bugfixes (rust, testing):
+    - Fix a bug where a failure in the rust unit tests would not actually
+      cause the build to fail. Fixes bug 26258; bugfix on 0.3.3.4-alpha.
+

+ 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 = \

+ 14 - 9
src/test/test_rust.sh

@@ -3,13 +3,18 @@
 
 set -e
 
-CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \
-    CARGO_HOME="${abs_top_builddir:-../../..}/src/rust" \
-    find "${abs_top_srcdir:-../../..}/src/rust" \
-    -mindepth 2 -maxdepth 2 \
-    -type f -name 'Cargo.toml' \
-    -exec "${CARGO:-cargo}" test --all-features ${CARGO_ONLINE-"--frozen"} \
-    --manifest-path '{}' \;
-
-exit $?
+
+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
+