1//===------- Offload API tests - olGetSymbolInfoSize ----------------------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include <OffloadAPI.h>
10
11#include "../common/Fixtures.hpp"
12
13using olGetSymbolInfoSizeKernelTest = OffloadKernelTest;
14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetSymbolInfoSizeKernelTest);
15
16using olGetSymbolInfoSizeGlobalTest = OffloadGlobalTest;
17OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetSymbolInfoSizeGlobalTest);
18
19TEST_P(olGetSymbolInfoSizeKernelTest, SuccessKind) {
20 size_t Size = 0;
21 ASSERT_SUCCESS(olGetSymbolInfoSize(Kernel, OL_SYMBOL_INFO_KIND, &Size));
22 ASSERT_EQ(Size, sizeof(ol_symbol_kind_t));
23}
24
25TEST_P(olGetSymbolInfoSizeGlobalTest, SuccessKind) {
26 size_t Size = 0;
27 ASSERT_SUCCESS(olGetSymbolInfoSize(Global, OL_SYMBOL_INFO_KIND, &Size));
28 ASSERT_EQ(Size, sizeof(ol_symbol_kind_t));
29}
30
31TEST_P(olGetSymbolInfoSizeGlobalTest, SuccessAddress) {
32 size_t Size = 0;
33 ASSERT_SUCCESS(olGetSymbolInfoSize(
34 Global, OL_SYMBOL_INFO_GLOBAL_VARIABLE_ADDRESS, &Size));
35 ASSERT_EQ(Size, sizeof(void *));
36}
37
38TEST_P(olGetSymbolInfoSizeGlobalTest, SuccessSize) {
39 size_t Size = 0;
40 ASSERT_SUCCESS(
41 olGetSymbolInfoSize(Global, OL_SYMBOL_INFO_GLOBAL_VARIABLE_SIZE, &Size));
42 ASSERT_EQ(Size, sizeof(size_t));
43}
44
45TEST_P(olGetSymbolInfoSizeKernelTest, InvalidNullHandle) {
46 size_t Size = 0;
47 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,
48 olGetSymbolInfoSize(nullptr, OL_SYMBOL_INFO_KIND, &Size));
49}
50
51TEST_P(olGetSymbolInfoSizeKernelTest, InvalidSymbolInfoEnumeration) {
52 size_t Size = 0;
53 ASSERT_ERROR(OL_ERRC_INVALID_ENUMERATION,
54 olGetSymbolInfoSize(Kernel, OL_SYMBOL_INFO_FORCE_UINT32, &Size));
55}
56
57TEST_P(olGetSymbolInfoSizeKernelTest, InvalidNullPointer) {
58 ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,
59 olGetSymbolInfoSize(Kernel, OL_SYMBOL_INFO_KIND, nullptr));
60}
61

source code of offload/unittests/OffloadAPI/symbol/olGetSymbolInfoSize.cpp