1//===------- Offload API tests - olGetPlatformInfoSize ---------------===//
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 olGetPlatformInfoSizeTest = OffloadPlatformTest;
14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetPlatformInfoSizeTest);
15
16TEST_P(olGetPlatformInfoSizeTest, SuccessName) {
17 size_t Size = 0;
18 ASSERT_SUCCESS(olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_NAME, &Size));
19 ASSERT_NE(Size, 0ul);
20}
21
22TEST_P(olGetPlatformInfoSizeTest, SuccessVendorName) {
23 size_t Size = 0;
24 ASSERT_SUCCESS(
25 olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_VENDOR_NAME, &Size));
26 ASSERT_NE(Size, 0ul);
27}
28
29TEST_P(olGetPlatformInfoSizeTest, SuccessVersion) {
30 size_t Size = 0;
31 ASSERT_SUCCESS(
32 olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_VERSION, &Size));
33 ASSERT_NE(Size, 0ul);
34}
35
36TEST_P(olGetPlatformInfoSizeTest, SuccessBackend) {
37 size_t Size = 0;
38 ASSERT_SUCCESS(
39 olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_BACKEND, &Size));
40 ASSERT_EQ(Size, sizeof(ol_platform_backend_t));
41}
42
43TEST_P(olGetPlatformInfoSizeTest, InvalidNullHandle) {
44 size_t Size = 0;
45 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,
46 olGetPlatformInfoSize(nullptr, OL_PLATFORM_INFO_BACKEND, &Size));
47}
48
49TEST_P(olGetPlatformInfoSizeTest, InvalidPlatformInfoEnumeration) {
50 size_t Size = 0;
51 ASSERT_ERROR(
52 OL_ERRC_INVALID_ENUMERATION,
53 olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_FORCE_UINT32, &Size));
54}
55
56TEST_P(olGetPlatformInfoSizeTest, InvalidNullPointer) {
57 ASSERT_ERROR(
58 OL_ERRC_INVALID_NULL_POINTER,
59 olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_BACKEND, nullptr));
60}
61

source code of offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp