]> git.lizzy.rs Git - rust.git/commitdiff
merge parking test into general synchronization test
authorRalf Jung <post@ralfj.de>
Sat, 3 Oct 2020 13:27:23 +0000 (15:27 +0200)
committerRalf Jung <post@ralfj.de>
Sat, 3 Oct 2020 13:27:23 +0000 (15:27 +0200)
tests/run-pass/concurrency/parking.rs [deleted file]
tests/run-pass/concurrency/parking.stderr [deleted file]
tests/run-pass/concurrency/sync.rs

diff --git a/tests/run-pass/concurrency/parking.rs b/tests/run-pass/concurrency/parking.rs
deleted file mode 100644 (file)
index 1ed7429..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// ignore-windows: Concurrency on Windows is not supported yet.
-// compile-flags: -Zmiri-disable-isolation
-
-use std::thread;
-use std::time::{Duration, Instant};
-
-// Normally, waiting in park/park_timeout may spuriously wake up early, but we
-// know Miri's timed synchronization primitives do not do that.
-
-fn park_timeout() {
-    let start = Instant::now();
-
-    thread::park_timeout(Duration::from_millis(200));
-
-    assert!((200..500).contains(&start.elapsed().as_millis()));
-}
-
-fn park_unpark() {
-    let t1 = thread::current();
-    let t2 = thread::spawn(move || {
-        thread::park();
-        thread::sleep(Duration::from_millis(200));
-        t1.unpark();
-    });
-
-    let start = Instant::now();
-
-    t2.thread().unpark();
-    thread::park();
-
-    assert!((200..500).contains(&start.elapsed().as_millis()));
-}
-
-fn main() {
-    park_timeout();
-    park_unpark();
-}
diff --git a/tests/run-pass/concurrency/parking.stderr b/tests/run-pass/concurrency/parking.stderr
deleted file mode 100644 (file)
index 2dbfb77..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-warning: thread support is experimental. For example, Miri does not detect data races yet.
-
index b36ad27ebe198226e310d6314164c8fec6ade272..69943e5495e2ea0a96c5a118e72a04e955047879 100644 (file)
@@ -312,6 +312,34 @@ fn check_rwlock_unlock_bug2() {
     h.join().unwrap();
 }
 
+fn park_timeout() {
+    let start = Instant::now();
+
+    thread::park_timeout(Duration::from_millis(200));
+    // Normally, waiting in park/park_timeout may spuriously wake up early, but we
+    // know Miri's timed synchronization primitives do not do that.
+
+    assert!((200..500).contains(&start.elapsed().as_millis()));
+}
+
+fn park_unpark() {
+    let t1 = thread::current();
+    let t2 = thread::spawn(move || {
+        thread::park();
+        thread::sleep(Duration::from_millis(200));
+        t1.unpark();
+    });
+
+    let start = Instant::now();
+
+    t2.thread().unpark();
+    thread::park();
+    // Normally, waiting in park/park_timeout may spuriously wake up early, but we
+    // know Miri's timed synchronization primitives do not do that.
+
+    assert!((200..500).contains(&start.elapsed().as_millis()));
+}
+
 fn main() {
     check_barriers();
     check_conditional_variables_notify_one();
@@ -327,4 +355,6 @@ fn main() {
     check_once();
     check_rwlock_unlock_bug1();
     check_rwlock_unlock_bug2();
+    park_timeout();
+    park_unpark();
 }