blob: a6e177dc3d04769c5290ec8b2001e816941d4675 [file] [log] [blame]
Googler73021682022-10-28 02:39:25 -07001// Part of the Crubit project, under the Apache License v2.0 with LLVM
2// Exceptions. See /LICENSE for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5#[cfg(test)]
6mod tests {
Dmitri Gribenkoc9e3a052024-08-19 13:30:28 -07007 use googletest::prelude::*;
8
9 #[gtest]
Googler73021682022-10-28 02:39:25 -070010 fn test_invoke_memcpy() {
11 use void_pointers::invoke_memcpy;
12
13 let src = [42u8; 256];
14 let mut dst = [0u8; 256];
15 let result = unsafe {
16 invoke_memcpy(
Googlerbed0a2a2023-03-01 11:53:43 -080017 dst.as_mut_ptr() as *mut core::ffi::c_void,
18 src.as_ptr() as *const core::ffi::c_void,
Googler73021682022-10-28 02:39:25 -070019 dst.len(),
20 )
21 };
22
Googlerbed0a2a2023-03-01 11:53:43 -080023 assert_eq!(result, dst.as_mut_ptr() as *mut core::ffi::c_void);
Googler73021682022-10-28 02:39:25 -070024 assert_eq!(src, dst);
25 }
26}