From 9533e27f44b21eb331188074771610eb9dae661b Mon Sep 17 00:00:00 2001
From: Jorge Aparicio <jorge@japaric.io>
Date: Wed, 8 Nov 2017 22:51:55 +0100
Subject: [PATCH] test two consecutive operations

---
 tests/tsan.rs | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/tests/tsan.rs b/tests/tsan.rs
index edee901..6685bd2 100644
--- a/tests/tsan.rs
+++ b/tests/tsan.rs
@@ -5,7 +5,7 @@ use std::thread;
 use heapless::RingBuffer;
 
 #[test]
-fn tsan() {
+fn once() {
     static mut RB: RingBuffer<i32, [i32; 4]> = RingBuffer::new();
 
     unsafe { RB.split() }.0.enqueue(0).unwrap();
@@ -18,3 +18,21 @@ fn tsan() {
         unsafe { RB.split() }.1.dequeue().unwrap();
     });
 }
+
+#[test]
+fn twice() {
+    static mut RB: RingBuffer<i32, [i32; 8]> = RingBuffer::new();
+
+    unsafe { RB.split() }.0.enqueue(0).unwrap();
+    unsafe { RB.split() }.0.enqueue(1).unwrap();
+
+    thread::spawn(|| {
+        unsafe { RB.split() }.0.enqueue(2).unwrap();
+        unsafe { RB.split() }.0.enqueue(3).unwrap();
+    });
+
+    thread::spawn(|| {
+        unsafe { RB.split() }.1.dequeue().unwrap();
+        unsafe { RB.split() }.1.dequeue().unwrap();
+    });
+}
-- 
GitLab