mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
rust: Add "test-c-from-rust" feature-gate.
Due to linker issues (#25386) when testing Rust code which calls C, all tests which touch FFI code should now be feature-gated behind the "test-c-from-rust" flag. To run this test code, cargo must be called with `cargo test --features="test-c-from-rust"`. * FIXES #26398: https://bugs.torproject.org/26398
This commit is contained in:
@@ -14,3 +14,12 @@ members = [
|
||||
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",
|
||||
]
|
||||
|
||||
@@ -26,4 +26,8 @@ rand_core = { version = "=0.2.0-pre.0", default-features = false }
|
||||
|
||||
[features]
|
||||
testing = ["tor_log/testing"]
|
||||
# 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.
|
||||
test-c-from-rust = []
|
||||
|
||||
|
||||
@@ -165,15 +165,19 @@ impl FixedOutput for Sha512 {
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
use digest::Digest;
|
||||
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
use super::*;
|
||||
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
#[test]
|
||||
fn sha256_default() {
|
||||
let _: Sha256 = Sha256::default();
|
||||
}
|
||||
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
#[test]
|
||||
fn sha256_digest() {
|
||||
let mut h: Sha256 = Sha256::new();
|
||||
@@ -190,11 +194,13 @@ mod test {
|
||||
assert_eq!(&result[..], &b"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"[..]);
|
||||
}
|
||||
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
#[test]
|
||||
fn sha512_default() {
|
||||
let _: Sha512 = Sha512::default();
|
||||
}
|
||||
|
||||
#[cfg(feature = "test-c-from-rust")]
|
||||
#[test]
|
||||
fn sha512_digest() {
|
||||
let mut h: Sha512 = Sha512::new();
|
||||
|
||||
Reference in New Issue
Block a user