about summary refs log tree commit diff
path: root/library/std/src/sync/barrier
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2025-01-17 11:04:40 +0000
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2025-01-26 10:28:05 +0000
commitb8ae372e483ed194a4aff2c4500bb7f0fd7e2967 (patch)
tree77fedb6761b8ffa0f5236255ea02513f5a94381d /library/std/src/sync/barrier
parent332fb7e6f1d3fd4df628a9d772c47e7e0c387e0f (diff)
downloadrust-b8ae372e483ed194a4aff2c4500bb7f0fd7e2967.tar.gz
rust-b8ae372e483ed194a4aff2c4500bb7f0fd7e2967.zip
Move std::sync unit tests to integration tests
This removes two minor OnceLock tests which test private methods. The
rest of the tests should be more than enough to catch mistakes in those
private methods. Also makes ReentrantLock::try_lock public. And finally
it makes the mpmc tests actually run.
Diffstat (limited to 'library/std/src/sync/barrier')
-rw-r--r--library/std/src/sync/barrier/tests.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/library/std/src/sync/barrier/tests.rs b/library/std/src/sync/barrier/tests.rs
deleted file mode 100644
index 0fbcd998812..00000000000
--- a/library/std/src/sync/barrier/tests.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-use crate::sync::mpsc::{TryRecvError, channel};
-use crate::sync::{Arc, Barrier};
-use crate::thread;
-
-#[test]
-#[cfg_attr(any(target_os = "emscripten", target_os = "wasi"), ignore)] // no threads
-fn test_barrier() {
-    const N: usize = 10;
-
-    let barrier = Arc::new(Barrier::new(N));
-    let (tx, rx) = channel();
-
-    for _ in 0..N - 1 {
-        let c = barrier.clone();
-        let tx = tx.clone();
-        thread::spawn(move || {
-            tx.send(c.wait().is_leader()).unwrap();
-        });
-    }
-
-    // At this point, all spawned threads should be blocked,
-    // so we shouldn't get anything from the port
-    assert!(matches!(rx.try_recv(), Err(TryRecvError::Empty)));
-
-    let mut leader_found = barrier.wait().is_leader();
-
-    // Now, the barrier is cleared and we should get data.
-    for _ in 0..N - 1 {
-        if rx.recv().unwrap() {
-            assert!(!leader_found);
-            leader_found = true;
-        }
-    }
-    assert!(leader_found);
-}