#[test]
fn ifds_vyre_resident_error_map_device_out_of_memory() {
let err = vyre::BackendError::DeviceOutOfMemory {
requested: 1024,
available: 512,
};
let s = err.to_string();
assert!(s.contains("device out of memory"));
assert!(s.contains("1024"));
assert!(s.contains("512"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_unsupported_feature() {
let err = vyre::BackendError::UnsupportedFeature {
name: "subgroup_ops".into(),
backend: "test".into(),
};
let s = err.to_string();
assert!(s.contains("unsupported feature"));
assert!(s.contains("subgroup_ops"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_poisoned_lock() {
let err = vyre::BackendError::PoisonedLock {
lock_error: "mutex poisoned".into(),
};
let s = err.to_string();
assert!(s.contains("poisoned"));
assert!(s.contains("mutex poisoned"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_kernel_compile_failed() {
let err = vyre::BackendError::KernelCompileFailed {
backend: "cuda".into(),
compiler_message: "type mismatch".into(),
};
let s = err.to_string();
assert!(s.contains("compile failed"));
assert!(s.contains("type mismatch"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_dispatch_failed() {
let err = vyre::BackendError::DispatchFailed {
code: Some(7),
message: "queue full".into(),
};
let s = err.to_string();
assert!(s.contains("dispatch failed"));
assert!(s.contains("queue full"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_invalid_program() {
let err = vyre::BackendError::InvalidProgram {
fix: "Fix: bind all inputs".into(),
};
let s = err.to_string();
assert!(s.contains("Fix: bind all inputs"));
}
#[test]
fn ifds_vyre_resident_error_map_raw_with_fix() {
let err = vyre::BackendError::Raw("something broke. Fix: retry".into());
let s = err.to_string();
assert!(s.contains("something broke"));
assert!(s.contains("Fix:"));
}
#[test]
fn ifds_vyre_resident_error_map_raw_without_fix_gets_fallback() {
let err = vyre::BackendError::new("something broke");
let s = err.to_string();
assert!(s.contains("something broke"));
assert!(s.contains("Fix:"));
}