brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · ed8f471 Raw
94 lines · cpp
1//===------- Offload API tests - olGetSymbolInfo --------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include <OffloadAPI.h>10 11#include "../common/Fixtures.hpp"12 13using olGetSymbolInfoKernelTest = OffloadKernelTest;14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetSymbolInfoKernelTest);15 16using olGetSymbolInfoGlobalTest = OffloadGlobalTest;17OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetSymbolInfoGlobalTest);18 19TEST_P(olGetSymbolInfoKernelTest, SuccessKind) {20  ol_symbol_kind_t RetrievedKind;21  ASSERT_SUCCESS(olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_KIND,22                                 sizeof(RetrievedKind), &RetrievedKind));23  ASSERT_EQ(RetrievedKind, OL_SYMBOL_KIND_KERNEL);24}25 26TEST_P(olGetSymbolInfoGlobalTest, SuccessKind) {27  ol_symbol_kind_t RetrievedKind;28  ASSERT_SUCCESS(olGetSymbolInfo(Global, OL_SYMBOL_INFO_KIND,29                                 sizeof(RetrievedKind), &RetrievedKind));30  ASSERT_EQ(RetrievedKind, OL_SYMBOL_KIND_GLOBAL_VARIABLE);31}32 33TEST_P(olGetSymbolInfoKernelTest, InvalidAddress) {34  void *RetrievedAddr;35  ASSERT_ERROR(OL_ERRC_SYMBOL_KIND,36               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_GLOBAL_VARIABLE_ADDRESS,37                               sizeof(RetrievedAddr), &RetrievedAddr));38}39 40TEST_P(olGetSymbolInfoGlobalTest, SuccessAddress) {41  void *RetrievedAddr = nullptr;42  ASSERT_SUCCESS(olGetSymbolInfo(Global, OL_SYMBOL_INFO_GLOBAL_VARIABLE_ADDRESS,43                                 sizeof(RetrievedAddr), &RetrievedAddr));44  ASSERT_NE(RetrievedAddr, nullptr);45}46 47TEST_P(olGetSymbolInfoKernelTest, InvalidSize) {48  size_t RetrievedSize;49  ASSERT_ERROR(OL_ERRC_SYMBOL_KIND,50               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_GLOBAL_VARIABLE_SIZE,51                               sizeof(RetrievedSize), &RetrievedSize));52}53 54TEST_P(olGetSymbolInfoGlobalTest, SuccessSize) {55  size_t RetrievedSize = 0;56  ASSERT_SUCCESS(olGetSymbolInfo(Global, OL_SYMBOL_INFO_GLOBAL_VARIABLE_SIZE,57                                 sizeof(RetrievedSize), &RetrievedSize));58  ASSERT_EQ(RetrievedSize, 64 * sizeof(uint32_t));59}60 61TEST_P(olGetSymbolInfoKernelTest, InvalidNullHandle) {62  ol_symbol_kind_t RetrievedKind;63  ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,64               olGetSymbolInfo(nullptr, OL_SYMBOL_INFO_KIND,65                               sizeof(RetrievedKind), &RetrievedKind));66}67 68TEST_P(olGetSymbolInfoKernelTest, InvalidSymbolInfoEnumeration) {69  ol_symbol_kind_t RetrievedKind;70  ASSERT_ERROR(OL_ERRC_INVALID_ENUMERATION,71               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_FORCE_UINT32,72                               sizeof(RetrievedKind), &RetrievedKind));73}74 75TEST_P(olGetSymbolInfoKernelTest, InvalidSizeZero) {76  ol_symbol_kind_t RetrievedKind;77  ASSERT_ERROR(OL_ERRC_INVALID_SIZE,78               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_KIND, 0, &RetrievedKind));79}80 81TEST_P(olGetSymbolInfoKernelTest, InvalidSizeSmall) {82  ol_symbol_kind_t RetrievedKind;83  ASSERT_ERROR(OL_ERRC_INVALID_SIZE,84               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_KIND,85                               sizeof(RetrievedKind) - 1, &RetrievedKind));86}87 88TEST_P(olGetSymbolInfoKernelTest, InvalidNullPointerPropValue) {89  ol_symbol_kind_t RetrievedKind;90  ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,91               olGetSymbolInfo(Kernel, OL_SYMBOL_INFO_KIND,92                               sizeof(RetrievedKind), nullptr));93}94