Googler | 7302168 | 2022-10-28 02:39:25 -0700 | [diff] [blame] | 1 | // 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)] |
| 6 | mod tests { |
Dmitri Gribenko | c9e3a05 | 2024-08-19 13:30:28 -0700 | [diff] [blame] | 7 | use googletest::prelude::*; |
| 8 | |
| 9 | #[gtest] |
Googler | 7302168 | 2022-10-28 02:39:25 -0700 | [diff] [blame] | 10 | 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( |
Googler | bed0a2a | 2023-03-01 11:53:43 -0800 | [diff] [blame] | 17 | dst.as_mut_ptr() as *mut core::ffi::c_void, |
| 18 | src.as_ptr() as *const core::ffi::c_void, |
Googler | 7302168 | 2022-10-28 02:39:25 -0700 | [diff] [blame] | 19 | dst.len(), |
| 20 | ) |
| 21 | }; |
| 22 | |
Googler | bed0a2a | 2023-03-01 11:53:43 -0800 | [diff] [blame] | 23 | assert_eq!(result, dst.as_mut_ptr() as *mut core::ffi::c_void); |
Googler | 7302168 | 2022-10-28 02:39:25 -0700 | [diff] [blame] | 24 | assert_eq!(src, dst); |
| 25 | } |
| 26 | } |