Add calloc test
This commit is contained in:
parent
a59e155206
commit
fa0755c9fd
1 changed files with 26 additions and 0 deletions
26
tests/run-pass/calloc.rs
Normal file
26
tests/run-pass/calloc.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
//ignore-windows: Uses POSIX APIs
|
||||
|
||||
#![feature(rustc_private)]
|
||||
|
||||
use core::slice;
|
||||
|
||||
extern crate libc;
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
let p1 = libc::calloc(0, 0);
|
||||
assert!(p1.is_null());
|
||||
|
||||
let p2 = libc::calloc(20, 0);
|
||||
assert!(p2.is_null());
|
||||
|
||||
let p3 = libc::calloc(0, 20);
|
||||
assert!(p3.is_null());
|
||||
|
||||
let p4 = libc::calloc(4, 8) as *const u8;
|
||||
assert!(!p4.is_null());
|
||||
|
||||
let slice = slice::from_raw_parts(p4, 4 * 8);
|
||||
assert_eq!(&slice, &[0_u8; 4 * 8]);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue