From 2a35b085eeee977376b5c5e2dd084f9f505d8f8a Mon Sep 17 00:00:00 2001
From: teor <teor@torproject.org>
Date: Fri, 10 Aug 2018 11:09:18 +1000
Subject: [PATCH] Rust: backport src/test/test_rust.sh from master

Preparation for 26497.
---
 src/test/test_rust.sh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index d559f94ce0..4ecca7834d 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -1,13 +1,19 @@
 #!/bin/sh
-# Test all the Rust crates we're using
+# Test all Rust crates
 
-crates=tor_util
+set -e
 
-exitcode=0
+export LSAN_OPTIONS=suppressions=${abs_top_srcdir}/src/test/rust_supp.txt
 
-for crate in $crates; do
-    cd "${abs_top_srcdir:-.}/src/rust/${crate}"
-    CARGO_TARGET_DIR="${abs_top_builddir}/src/rust/target" CARGO_HOME="${abs_top_builddir}/src/rust" "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} || 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:-cargo}" test ${CARGO_ONLINE-"--frozen"} \
+	    ${EXTRA_CARGO_OPTIONS} \
+	    --manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1
+    fi
 done
 
 exit $exitcode
-- 
GitLab