diff --git a/Cargo.lock b/Cargo.lock index ea20e4c7ce..2941dfb6f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -368,6 +368,7 @@ dependencies = [ "once_cell", "os_info", "serde_json", + "serial_test", "strum", "tempfile", ] @@ -4517,6 +4518,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" version = "0.1.28" @@ -4606,6 +4616,12 @@ dependencies = [ "syn 2.0.110", ] +[[package]] +name = "sdd" +version = "3.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" + [[package]] name = "security-framework" version = "3.5.1" @@ -4803,6 +4819,31 @@ dependencies = [ "unsafe-libyaml", ] +[[package]] +name = "serial_test" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" +dependencies = [ + "futures", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.110", +] + [[package]] name = "sha1" version = "0.10.6" diff --git a/LICENSE-3rdparty.yml b/LICENSE-3rdparty.yml index 98471bbefa..18d7acad52 100644 --- a/LICENSE-3rdparty.yml +++ b/LICENSE-3rdparty.yml @@ -27494,9 +27494,9 @@ third_party_libraries: - package_name: stringmetrics package_version: 2.2.2 repository: https://github.com/pluots/stringmetrics - license: License specified in file ($CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/stringmetrics-2.2.2/LICENSE) + license: License specified in file ($CARGO_HOME/registry/src/github.com-25cdd57fae9f0462/stringmetrics-2.2.2/LICENSE) licenses: - - license: License specified in file ($CARGO_HOME/registry/src/index.crates.io-1949cf8c6b5b557f/stringmetrics-2.2.2/LICENSE) + - license: License specified in file ($CARGO_HOME/registry/src/github.com-25cdd57fae9f0462/stringmetrics-2.2.2/LICENSE) text: | Copyright 2022 Trevor Gross diff --git a/bin_tests/Cargo.toml b/bin_tests/Cargo.toml index 3524f01ff4..86b745883b 100644 --- a/bin_tests/Cargo.toml +++ b/bin_tests/Cargo.toml @@ -24,6 +24,9 @@ nix = { version = "0.29", features = ["signal", "socket"] } hex = "0.4" os_info = "3.7.0" +[dev-dependencies] +serial_test = "3.2" + [lib] bench = false diff --git a/bin_tests/src/modes/unix/test_010_runtime_callback_frame.rs b/bin_tests/src/modes/unix/test_010_runtime_callback_frame.rs index 9a736733f5..6bc711bd21 100644 --- a/bin_tests/src/modes/unix/test_010_runtime_callback_frame.rs +++ b/bin_tests/src/modes/unix/test_010_runtime_callback_frame.rs @@ -85,8 +85,11 @@ unsafe extern "C" fn test_runtime_callback_frame( mod tests { use super::*; use libdd_crashtracker::{clear_runtime_callback, is_runtime_callback_registered}; + use serial_test::serial; #[test] + #[cfg_attr(miri, ignore)] // serial_test has intentional leaks that Miri flags + #[serial(runtime_callback)] fn test_runtime_callback_frame_registration() { // Ensure clean state unsafe { diff --git a/bin_tests/src/modes/unix/test_011_runtime_callback_string.rs b/bin_tests/src/modes/unix/test_011_runtime_callback_string.rs index fc7a5dd7cd..d0da355c66 100644 --- a/bin_tests/src/modes/unix/test_011_runtime_callback_string.rs +++ b/bin_tests/src/modes/unix/test_011_runtime_callback_string.rs @@ -52,8 +52,11 @@ unsafe extern "C" fn test_runtime_callback_string( mod tests { use super::*; use libdd_crashtracker::{clear_runtime_callback, is_runtime_callback_registered}; + use serial_test::serial; #[test] + #[cfg_attr(miri, ignore)] // serial_test has intentional leaks that Miri flags + #[serial(runtime_callback)] fn test_runtime_callback_string_registration() { unsafe { clear_runtime_callback(); diff --git a/bin_tests/src/modes/unix/test_012_runtime_callback_frame_invalid_utf8.rs b/bin_tests/src/modes/unix/test_012_runtime_callback_frame_invalid_utf8.rs index 85fef8d3c4..7159cf978e 100644 --- a/bin_tests/src/modes/unix/test_012_runtime_callback_frame_invalid_utf8.rs +++ b/bin_tests/src/modes/unix/test_012_runtime_callback_frame_invalid_utf8.rs @@ -136,8 +136,11 @@ unsafe extern "C" fn test_runtime_callback_frame_with_invalid_utf8( mod tests { use super::*; use libdd_crashtracker::{clear_runtime_callback, is_runtime_callback_registered}; + use serial_test::serial; #[test] + #[cfg_attr(miri, ignore)] // serial_test has intentional leaks that Miri flags + #[serial(runtime_callback)] fn test_runtime_callback_frame_invalid_utf8_registration() { // Ensure clean state unsafe {