summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/include.am3
-rw-r--r--src/test/test_hs_config.c16
-rw-r--r--src/test/test_protover.c1
-rwxr-xr-xsrc/test/test_rust.sh10
4 files changed, 27 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_hs_config.c b/src/test/test_hs_config.c
index 553b96758a..b6ab0c21f9 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
teardown_capture_of_logs();
}
+ /* v2-specific HiddenServiceAuthorizeClient set. */
+ {
+ const char *conf =
+ "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+ "HiddenServiceVersion 3\n"
+ "HiddenServiceAuthorizeClient stealth client1\n";
+ setup_full_capture_of_logs(LOG_WARN);
+ ret = helper_config_service(conf, validate_only);
+ tt_int_op(ret, OP_EQ, -1);
+ expect_log_msg_containing("Hidden service option "
+ "HiddenServiceAuthorizeClient is incompatible "
+ "with version 3 of service in "
+ "/tmp/tor-test-hs-RANDOM/hs1");
+ teardown_capture_of_logs();
+ }
+
done:
;
}
diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index b835e28ab5..5f9a8b7937 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -268,6 +268,7 @@ test_protover_all_supported(void *arg)
tt_ptr_op(msg, OP_EQ, NULL);
// Some things we don't support
+ tt_assert(! protover_all_supported("Wombat=9", NULL));
tt_assert(! protover_all_supported("Wombat=9", &msg));
tt_str_op(msg, OP_EQ, "Wombat=9");
tor_free(msg);
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