diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-10-30 08:39:57 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-10-30 08:39:57 -0400 |
commit | 262b0fe7a00f9f13980c408b975f08fcdc8ec117 (patch) | |
tree | 9d6473f60860534d50d513e52482464fa204b198 /src/test | |
parent | 709cd447f0b207f969d448bd4fe2d5f2795e678d (diff) | |
parent | 82857849662189d25e1a06bf6b764c64d2468168 (diff) | |
download | tor-262b0fe7a00f9f13980c408b975f08fcdc8ec117.tar.gz tor-262b0fe7a00f9f13980c408b975f08fcdc8ec117.zip |
Merge remote-tracking branch 'tor-github/pr/381' into maint-0.3.5
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/include.am | 3 | ||||
-rwxr-xr-x | src/test/test_rust.sh | 10 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/test/include.am b/src/test/include.am index 1055cd0a81..ecb7689579 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -12,8 +12,7 @@ TESTS_ENVIRONMENT = \ export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \ export CARGO_ONLINE="$(CARGO_ONLINE)"; \ export CCLD="$(CCLD)"; \ - chmod +x "$(abs_top_builddir)/link_rust.sh"; \ - export RUSTFLAGS="-C linker=$(abs_top_builddir)/link_rust.sh"; + export RUSTFLAGS="-C linker=`echo '$(CC)' | cut -d' ' -f 1` $(RUST_LINKER_OPTIONS)"; TESTSCRIPTS = \ src/test/fuzz_static_testcases.sh \ diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh index a1a56af480..00b3e88d37 100755 --- a/src/test/test_rust.sh +++ b/src/test/test_rust.sh @@ -5,12 +5,20 @@ set -e export LSAN_OPTIONS=suppressions=${abs_top_srcdir:-../../..}/src/test/rust_supp.txt +# When testing Cargo we pass a number of very specific linker flags down +# through Cargo. We do not, however, want these flags to affect things like +# build scripts, only the tests that we're compiling. To ensure this happens +# we unconditionally pass `--target` into Cargo, ensuring that `RUSTFLAGS` in +# the environment won't make their way into build scripts. +rustc_host=$(rustc -vV | grep host | sed 's/host: //') + for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then cd "${abs_top_builddir:-../../..}/src/rust" && \ CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \ "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \ - --features "test_linking_hack" \ + --features "test_linking_hack" \ + --target $rustc_host \ ${EXTRA_CARGO_OPTIONS} \ --manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1 fi |