serialize C integration tests
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -1529,6 +1529,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"cc",
|
||||
"env_logger 0.8.4",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"pretty_assertions",
|
||||
"taskchampion",
|
||||
|
||||
@@ -18,6 +18,7 @@ tempfile = "3"
|
||||
pretty_assertions = "1"
|
||||
log = "^0.4.14"
|
||||
env_logger = "^0.8.3"
|
||||
lazy_static = "1"
|
||||
|
||||
[build-dependencies]
|
||||
cc = "1.0"
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
use lazy_static::lazy_static;
|
||||
use std::sync::Mutex;
|
||||
|
||||
lazy_static! {
|
||||
// the C library running the tests is not reentrant, so we use a mutex to ensure that only one
|
||||
// test runs at a time.
|
||||
static ref MUTEX: Mutex<()> = Mutex::new(());
|
||||
}
|
||||
|
||||
macro_rules! suite(
|
||||
{ $s:ident } => {
|
||||
#[test]
|
||||
fn $s() {
|
||||
let _guard = MUTEX.lock().unwrap();
|
||||
assert_eq!(integration_tests::bindings_tests::$s(), 0);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user