#[test] fn test_bounding_has_cap() { caps::has_cap( None, caps::CapSet::Bounding, caps::Capability::CAP_SYS_CHROOT, ) .unwrap(); } #[test] fn test_bounding_read() { caps::read(None, caps::CapSet::Bounding).unwrap(); } #[test] fn test_bounding_clear() { let ret = caps::clear(None, caps::CapSet::Bounding); if caps::has_cap(None, caps::CapSet::Effective, caps::Capability::CAP_SETPCAP).unwrap() { ret.unwrap(); let empty = caps::read(None, caps::CapSet::Bounding).unwrap(); assert_eq!(empty.len(), 0); } else { assert!(ret.is_err()); }; } #[test] fn test_bounding_drop() { let ret = caps::drop( None, caps::CapSet::Bounding, caps::Capability::CAP_SYS_CHROOT, ); if caps::has_cap(None, caps::CapSet::Effective, caps::Capability::CAP_SETPCAP).unwrap() { ret.unwrap(); let set = caps::read(None, caps::CapSet::Bounding).unwrap(); assert!(!set.contains(&caps::Capability::CAP_SYS_CHROOT)); } else { assert!(ret.is_err()); } } #[test] fn test_bounding_drop_other() { assert!(caps::drop(Some(1), caps::CapSet::Bounding, caps::Capability::CAP_CHOWN).is_err()); } #[test] fn test_bounding_raise() { assert!(caps::raise(None, caps::CapSet::Bounding, caps::Capability::CAP_CHOWN).is_err()); } #[test] fn test_bounding_set() { let v = caps::CapsHashSet::new(); assert!(caps::set(None, caps::CapSet::Bounding, &v).is_err()); }