1
0
mirror of https://github.com/bspeice/qadapt synced 2024-11-21 21:38:10 -05:00

Add some more tests

This commit is contained in:
Bradlee Speice 2018-11-06 20:51:44 -05:00
parent 03310c6372
commit 16a0238dc5
2 changed files with 68 additions and 1 deletions

View File

@ -20,7 +20,15 @@ static LOG_LEVEL: RwLock<Level> = RwLock::new(Level::Debug);
pub struct QADAPT; pub struct QADAPT;
pub fn set_panic(b: bool) { pub fn set_panic(b: bool) {
*DO_PANIC.write() = b; let mut val = DO_PANIC.write();
if *val == b {
let level = LOG_LEVEL.read();
if log_enabled!(*level) {
log!(*level, "Panic flag was already {}, potential data race", b)
}
}
*val = b;
} }
pub fn set_log_level(level: Level) { pub fn set_log_level(level: Level) {

View File

@ -28,3 +28,62 @@ fn test_allocate() {
let _x = Box::new(12); let _x = Box::new(12);
set_panic(false); set_panic(false);
} }
fn unit_result(b: bool) -> Result<(), ()> {
if b {
Ok(())
} else {
Err(())
}
}
#[test]
fn test_unit_result() {
set_panic(true);
#[allow(unused)]
{ black_box(unit_result(true)); }
black_box(unit_result(true)).unwrap();
#[allow(unused)]
{ black_box(unit_result(false)); }
black_box(unit_result(false)).unwrap_err();
set_panic(false);
}
#[test]
#[should_panic]
fn test_vec_push() {
let mut v = Vec::new();
set_panic(true);
v.push(0);
}
#[test]
fn test_vec_push_capacity() {
let mut v = Vec::with_capacity(1);
set_panic(true);
v.push(0);
v.pop();
v.push(0);
set_panic(false);
}
#[test]
fn test_vec_with_zero() {
set_panic(true);
let _v: Vec<u8> = black_box(Vec::with_capacity(0));
set_panic(false);
}
#[test]
fn test_vec_new() {
set_panic(true);
let _v: Vec<u8> = black_box(Vec::new());
set_panic(false);
}
#[test]
#[should_panic]
fn test_vec_with_one() {
set_panic(true);
let _v: Vec<u8> = Vec::with_capacity(1);
}