mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge branch 'maint-0.3.5'
This commit is contained in:
Generated
+1
@@ -26,6 +26,7 @@ version = "0.0.1"
|
||||
dependencies = [
|
||||
"libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"smartlist 0.0.1",
|
||||
"tor_allocate 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -13,19 +13,3 @@ members = [
|
||||
[profile.release]
|
||||
debug = true
|
||||
panic = "abort"
|
||||
|
||||
[features]
|
||||
default = []
|
||||
# If this feature is enabled, test code which calls Tor C code from Rust will
|
||||
# execute with `cargo test`. Due to numerous linker issues (#25386), this is
|
||||
# currently disabled by default. Crates listed here are those which, in their
|
||||
# unittests, doctests, and/or integration tests, call C code.
|
||||
test-c-from-rust = [
|
||||
"crypto/test-c-from-rust",
|
||||
]
|
||||
|
||||
# We have to define a feature here because doctests don't get cfg(test),
|
||||
# and we need to disable some C dependencies when running the doctests
|
||||
# because of the various linker issues. See
|
||||
# https://github.com/rust-lang/rust/issues/45599
|
||||
test_linking_hack = []
|
||||
|
||||
@@ -9,7 +9,6 @@ build = "../build.rs"
|
||||
[lib]
|
||||
name = "crypto"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[dependencies]
|
||||
libc = "=0.2.39"
|
||||
|
||||
Vendored
+2
-4
@@ -5,14 +5,12 @@ name = "external"
|
||||
|
||||
[dependencies]
|
||||
libc = "=0.2.39"
|
||||
|
||||
[dependencies.smartlist]
|
||||
path = "../smartlist"
|
||||
smartlist = { path = "../smartlist" }
|
||||
tor_allocate = { path = "../tor_allocate" }
|
||||
|
||||
[lib]
|
||||
name = "external"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[features]
|
||||
# We have to define a feature here because doctests don't get cfg(test),
|
||||
|
||||
Vendored
+1
-1
@@ -8,7 +8,7 @@
|
||||
//! module implementing this functionality repeatedly.
|
||||
|
||||
extern crate libc;
|
||||
|
||||
extern crate tor_allocate;
|
||||
extern crate smartlist;
|
||||
|
||||
pub mod crypto_digest;
|
||||
|
||||
@@ -31,4 +31,3 @@ path = "../tor_log"
|
||||
[lib]
|
||||
name = "protover"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
@@ -9,7 +9,6 @@ libc = "0.2.39"
|
||||
[lib]
|
||||
name = "smartlist"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[features]
|
||||
# We have to define a feature here because doctests don't get cfg(test),
|
||||
|
||||
@@ -6,3 +6,12 @@ extern crate libc;
|
||||
mod smartlist;
|
||||
|
||||
pub use smartlist::*;
|
||||
|
||||
// When testing we may be compiled with sanitizers which are incompatible with
|
||||
// Rust's default allocator, jemalloc (unsure why at this time). Most crates
|
||||
// link to `tor_allocate` which switches by default to a non-jemalloc allocator,
|
||||
// but we don't already depend on `tor_allocate` so make sure that while testing
|
||||
// we don't use jemalloc. (but rather malloc/free)
|
||||
#[global_allocator]
|
||||
#[cfg(test)]
|
||||
static A: std::alloc::System = std::alloc::System;
|
||||
|
||||
@@ -9,7 +9,6 @@ libc = "=0.2.39"
|
||||
[lib]
|
||||
name = "tor_allocate"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[features]
|
||||
# We have to define a feature here because doctests don't get cfg(test),
|
||||
|
||||
@@ -11,5 +11,10 @@
|
||||
|
||||
extern crate libc;
|
||||
|
||||
use std::alloc::System;
|
||||
|
||||
mod tor_allocate;
|
||||
pub use tor_allocate::*;
|
||||
|
||||
#[global_allocator]
|
||||
static A: System = System;
|
||||
|
||||
@@ -6,7 +6,6 @@ authors = ["The Tor Project"]
|
||||
[lib]
|
||||
name = "tor_log"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[features]
|
||||
# We have to define a feature here because doctests don't get cfg(test),
|
||||
|
||||
@@ -6,7 +6,7 @@ version = "0.1.0"
|
||||
[lib]
|
||||
name = "tor_rust"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
crate_type = ["staticlib"]
|
||||
|
||||
[dependencies.tor_util]
|
||||
path = "../tor_util"
|
||||
|
||||
@@ -6,7 +6,6 @@ version = "0.0.1"
|
||||
[lib]
|
||||
name = "tor_util"
|
||||
path = "lib.rs"
|
||||
crate_type = ["rlib", "staticlib"]
|
||||
|
||||
[dependencies.tor_allocate]
|
||||
path = "../tor_allocate"
|
||||
|
||||
+1
-2
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user