diff options
| author | Steve McIntyre <steve@einval.com> | 2024-02-17 17:35:37 +0000 |
|---|---|---|
| committer | Steve McIntyre <steve@einval.com> | 2024-05-03 14:36:51 +0100 |
| commit | f898e219b4b06cf2bb7af18b5cc7a00754d3d274 (patch) | |
| tree | c535b3ff1b13388dbaa7072c7f5ec78f5d73ee53 /test-pe-relocate.c | |
| parent | 3cf4042d82ef314f19e9f7bd4f86c4b59efd8233 (diff) | |
| download | efi-boot-shim-f898e219b4b06cf2bb7af18b5cc7a00754d3d274.tar.gz efi-boot-shim-f898e219b4b06cf2bb7af18b5cc7a00754d3d274.zip | |
New upstream version 15.8
Diffstat (limited to 'test-pe-relocate.c')
| -rw-r--r-- | test-pe-relocate.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test-pe-relocate.c b/test-pe-relocate.c new file mode 100644 index 00000000..55577791 --- /dev/null +++ b/test-pe-relocate.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: BSD-2-Clause-Patent +/* + * test-pe-reloc.c - attempt to test relocate_coff() + * Copyright Peter Jones <pjones@redhat.com> + */ + +#ifndef SHIM_UNIT_TEST +#define SHIM_UNIT_TEST +#endif +#include "shim.h" + +static int +test_image_address(void) +{ + char image[4]; + void *ret; + + assert_equal_return(ImageAddress(image, sizeof(image), 0), &image[0], -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress(image, sizeof(image), 4), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)1, 2, 3), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)-1ull, UINT64_MAX, UINT64_MAX), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)0, UINT64_MAX, UINT64_MAX), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)1, UINT64_MAX, UINT64_MAX), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)2, UINT64_MAX, UINT64_MAX), NULL, -1, "got %p expected %p\n"); + assert_equal_return(ImageAddress((void *)3, UINT64_MAX, UINT64_MAX), NULL, -1, "got %p expected %p\n"); + + return 0; +} + +int +main(void) +{ + int status = 0; + test(test_image_address); + + return status; +} + +// vim:fenc=utf-8:tw=75:noet |
