From fa0755c9fd9f7c43fbd313db32935ff37e588ee2 Mon Sep 17 00:00:00 2001 From: Tim Diekmann Date: Mon, 8 Apr 2019 01:12:50 +0200 Subject: [PATCH] Add calloc test --- tests/run-pass/calloc.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/run-pass/calloc.rs diff --git a/tests/run-pass/calloc.rs b/tests/run-pass/calloc.rs new file mode 100644 index 000000000000..8e8e2e5f10f4 --- /dev/null +++ b/tests/run-pass/calloc.rs @@ -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]); + } +}