From 280a61ad7b74019c7aad8b7306a0dd7cfb11359c Mon Sep 17 00:00:00 2001 From: Botahamec Date: Sun, 12 Jan 2025 15:04:01 -0500 Subject: More unit tests --- src/collection/boxed.rs | 1 + src/collection/guard.rs | 6 ++++++ src/collection/owned.rs | 2 ++ src/collection/ref.rs | 1 + 4 files changed, 10 insertions(+) (limited to 'src/collection') diff --git a/src/collection/boxed.rs b/src/collection/boxed.rs index 7a84b2a..98d7632 100644 --- a/src/collection/boxed.rs +++ b/src/collection/boxed.rs @@ -154,6 +154,7 @@ impl> AsRef for BoxedLockCollection { } } +#[mutants::skip] impl Debug for BoxedLockCollection { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct(stringify!(BoxedLockCollection)) diff --git a/src/collection/guard.rs b/src/collection/guard.rs index fc8df30..9412343 100644 --- a/src/collection/guard.rs +++ b/src/collection/guard.rs @@ -6,32 +6,38 @@ use crate::key::Keyable; use super::LockGuard; +#[mutants::skip] // it's hard to get two guards safely impl PartialEq for LockGuard<'_, Guard, Key> { fn eq(&self, other: &Self) -> bool { self.guard.eq(&other.guard) } } +#[mutants::skip] // it's hard to get two guards safely impl PartialOrd for LockGuard<'_, Guard, Key> { fn partial_cmp(&self, other: &Self) -> Option { self.guard.partial_cmp(&other.guard) } } +#[mutants::skip] // it's hard to get two guards safely impl Eq for LockGuard<'_, Guard, Key> {} +#[mutants::skip] // it's hard to get two guards safely impl Ord for LockGuard<'_, Guard, Key> { fn cmp(&self, other: &Self) -> std::cmp::Ordering { self.guard.cmp(&other.guard) } } +#[mutants::skip] // hashing involves RNG and is hard to test impl Hash for LockGuard<'_, Guard, Key> { fn hash(&self, state: &mut H) { self.guard.hash(state) } } +#[mutants::skip] impl Debug for LockGuard<'_, Guard, Key> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { Debug::fmt(&**self, f) diff --git a/src/collection/owned.rs b/src/collection/owned.rs index 8e8afce..a96300d 100644 --- a/src/collection/owned.rs +++ b/src/collection/owned.rs @@ -7,6 +7,7 @@ use crate::Keyable; use super::{utils, LockGuard, OwnedLockCollection}; +#[mutants::skip] // it's hard to test individual locks in an OwnedLockCollection fn get_locks(data: &L) -> Vec<&dyn RawLock> { let mut locks = Vec::new(); data.get_ptrs(&mut locks); @@ -61,6 +62,7 @@ unsafe impl Lockable for OwnedLockCollection { where Self: 'g; + #[mutants::skip] // It's hard to test lkocks in an OwnedLockCollection, because they're owned fn get_ptrs<'a>(&'a self, ptrs: &mut Vec<&'a dyn RawLock>) { self.data.get_ptrs(ptrs) } diff --git a/src/collection/ref.rs b/src/collection/ref.rs index 2f4db20..512bdec 100644 --- a/src/collection/ref.rs +++ b/src/collection/ref.rs @@ -108,6 +108,7 @@ impl> AsRef for RefLockCollection<'_, L> { } } +#[mutants::skip] impl Debug for RefLockCollection<'_, L> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct(stringify!(RefLockCollection)) -- cgit v1.2.3