Realtime safe, waitfree, concurrency library

add new test cases for new cargo-mutants results

Changed files
+22
tests
+22
tests/tests.rs
··· 110 } 111 112 #[test] 113 fn block() { 114 let mut writer = Writer::new(0); 115 let mut reader = writer.build_reader().unwrap();
··· 110 } 111 112 #[test] 113 + fn assert_writeguard_none() { 114 + let mut writer = Writer::new(0); 115 + let mut reader = writer.build_reader().unwrap(); 116 + let read_lock = reader.lock(); 117 + let mut write_lock = writer.try_lock().unwrap(); 118 + write_lock.apply_op(CounterAddOp(1)); 119 + assert_eq!(*read_lock, 0); 120 + drop(write_lock); 121 + // read lock is still being held, so can't lock 122 + assert!(writer.try_lock().is_none()); 123 + drop(read_lock); 124 + // now do it all again, to also trigger code paths for the second value 125 + let read_lock = reader.lock(); 126 + let mut write_lock = writer.try_lock().unwrap(); 127 + write_lock.apply_op(CounterAddOp(1)); 128 + assert_eq!(*read_lock, 1); 129 + drop(write_lock); 130 + // read lock is still being held, so can't lock 131 + assert!(writer.try_lock().is_none()); 132 + } 133 + 134 + #[test] 135 fn block() { 136 let mut writer = Writer::new(0); 137 let mut reader = writer.build_reader().unwrap();