aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac8
-rw-r--r--src/rust/tor_util/include.am2
-rw-r--r--src/test/include.am3
-rwxr-xr-xsrc/test/test_rust.sh2
4 files changed, 12 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index d281903fcc..1a780d3c3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,8 @@ AC_ARG_ENABLE(memory-sentinels,
AS_HELP_STRING(--disable-memory-sentinels, [disable code that tries to prevent some kinds of memory access bugs. For fuzzing only.]))
AC_ARG_ENABLE(rust,
AS_HELP_STRING(--enable-rust, [enable rust integration]))
+AC_ARG_ENABLE(cargo-online-mode,
+ AS_HELP_STRING(--enable-cargo-online-mode, [Allow cargo to make network requests to fetch crates. For builds with rust only.]))
if test "x$enable_coverage" != "xyes" -a "x$enable_asserts_in_tests" = "xno" ; then
AC_MSG_ERROR([Can't disable assertions outside of coverage build])
@@ -267,6 +269,12 @@ if test "x$enable_rust" = "xyes"; then
fi
AC_DEFINE([HAVE_RUST], 1, [have Rust])
+ if test "x$enable_cargo_online_mode" = "xyes"; then
+ CARGO_ONLINE=
+ else
+ CARGO_ONLINE=--frozen
+ fi
+ AC_SUBST(CARGO_ONLINE)
fi
ifdef([AC_C_FLEXIBLE_ARRAY_MEMBER], [
diff --git a/src/rust/tor_util/include.am b/src/rust/tor_util/include.am
index 3b877649a3..863046b929 100644
--- a/src/rust/tor_util/include.am
+++ b/src/rust/tor_util/include.am
@@ -7,6 +7,6 @@ EXTRA_DIST +=\
src/rust/target/release/libtor_util.a: FORCE
( cd "$(abs_top_srcdir)/src/rust/tor_util" ; \
CARGO_TARGET_DIR="$(abs_top_builddir)/src/rust/target" \
- $(CARGO) build --release --quiet --frozen )
+ $(CARGO) build --release --quiet $(CARGO_ONLINE) )
FORCE:
diff --git a/src/test/include.am b/src/test/include.am
index 5fd61dd3e6..c0aca8afe2 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -7,7 +7,8 @@ TESTS_ENVIRONMENT = \
export abs_top_srcdir="$(abs_top_srcdir)"; \
export builddir="$(builddir)"; \
export TESTING_TOR_BINARY="$(TESTING_TOR_BINARY)"; \
- export CARGO="$(CARGO)";
+ export CARGO="$(CARGO)"; \
+ export CARGO_ONLINE="$(CARGO_ONLINE)";
TESTSCRIPTS = \
src/test/fuzz_static_testcases.sh \
diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh
index b41be978b9..7c71008e02 100755
--- a/src/test/test_rust.sh
+++ b/src/test/test_rust.sh
@@ -7,7 +7,7 @@ exitcode=0
for crate in $crates; do
cd "${abs_top_srcdir:-.}/src/rust/${crate}"
- "${CARGO:-cargo}" test --frozen || exitcode=1
+ "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} || exitcode=1
done
exit $exitcode