use super::*;
#[test]
fn ifds_vyre_resident_err_map_via_allocate() {
let b = backend();
let a = adapter(&b);
b.inject_next_allocate(InjectedFailure::InvalidProgram {
fix: "raw alloc err".into(),
});
let err = a.allocate_resident(1).unwrap_err();
assert!(err.contains("raw alloc err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_upload() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_upload(InjectedFailure::InvalidProgram {
fix: "raw upload err".into(),
});
let err = a.upload_resident(&r, &[1u8]).unwrap_err();
assert!(err.contains("raw upload err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_upload_many() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_upload(InjectedFailure::InvalidProgram {
fix: "raw upload many err".into(),
});
let err = a.upload_resident_many(&[(&r, &[1u8])]).unwrap_err();
assert!(err.contains("raw upload many err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_upload_at_many() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_upload(InjectedFailure::InvalidProgram {
fix: "raw upload at err".into(),
});
let err = a.upload_resident_at_many(&[(&r, 0, &[1u8])]).unwrap_err();
assert!(err.contains("raw upload at err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_download() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_download(InjectedFailure::InvalidProgram {
fix: "raw download err".into(),
});
let err = a.download_resident(&r).unwrap_err();
assert!(err.contains("raw download err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_download_into() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_download(InjectedFailure::InvalidProgram {
fix: "raw download into err".into(),
});
let mut out = Vec::new();
let err = a.download_resident_into(&r, &mut out).unwrap_err();
assert!(err.contains("raw download into err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_download_range() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_download(InjectedFailure::InvalidProgram {
fix: "raw range err".into(),
});
let err = a.download_resident_range(&r, 0, 8).unwrap_err();
assert!(err.contains("raw range err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_download_range_into() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_download(InjectedFailure::InvalidProgram {
fix: "raw range into err".into(),
});
let mut out = Vec::new();
let err = a
.download_resident_range_into(&r, 0, 8, &mut out)
.unwrap_err();
assert!(err.contains("raw range into err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_download_ranges_into() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_download(InjectedFailure::InvalidProgram {
fix: "raw ranges err".into(),
});
let mut out = Vec::new();
let err = a
.download_resident_ranges_into(&[(&r, 0, 8)], &mut [&mut out])
.unwrap_err();
assert!(err.contains("raw ranges err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_free() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_free(InjectedFailure::InvalidProgram {
fix: "raw free err".into(),
});
let err = a.free_resident(r).unwrap_err();
assert!(err.contains("raw free err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_dispatch() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_dispatch(InjectedFailure::InvalidProgram {
fix: "raw dispatch err".into(),
});
let err = a.dispatch_resident(&program(), &[r], None).unwrap_err();
assert!(err.contains("raw dispatch err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_sequence() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_dispatch(InjectedFailure::InvalidProgram {
fix: "raw seq err".into(),
});
let mut out = Vec::new();
let err = a
.dispatch_resident_sequence_read_ranges_into(
&[(&program(), &[r], None)],
&[],
&mut [&mut out],
)
.unwrap_err();
assert!(err.contains("raw seq err"));
}
#[test]
fn ifds_vyre_resident_err_map_via_repeated() {
let b = backend();
let a = adapter(&b);
let r = a.allocate_resident(64).unwrap();
b.inject_next_dispatch(InjectedFailure::InvalidProgram {
fix: "raw rep err".into(),
});
let mut out = Vec::new();
let err = a
.dispatch_resident_repeated_sequence_read_ranges_into(
&[],
&[(&program(), &[r], None)],
1,
&[],
&mut [&mut out],
)
.unwrap_err();
assert!(err.contains("raw rep err"));
}