1//===------- Offload API tests - olGetDeviceInfoSize -----------------===//
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 olGetDeviceInfoSizeTest = OffloadDeviceTest;
14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetDeviceInfoSizeTest);
15
16TEST_P(olGetDeviceInfoSizeTest, SuccessType) {
17 size_t Size = 0;
18 ASSERT_SUCCESS(olGetDeviceInfoSize(Device, OL_DEVICE_INFO_TYPE, &Size));
19 ASSERT_EQ(Size, sizeof(ol_device_type_t));
20}
21
22TEST_P(olGetDeviceInfoSizeTest, SuccessPlatform) {
23 size_t Size = 0;
24 ASSERT_SUCCESS(olGetDeviceInfoSize(Device, OL_DEVICE_INFO_PLATFORM, &Size));
25 ASSERT_EQ(Size, sizeof(ol_platform_handle_t));
26}
27
28TEST_P(olGetDeviceInfoSizeTest, SuccessName) {
29 size_t Size = 0;
30 ASSERT_SUCCESS(olGetDeviceInfoSize(Device, OL_DEVICE_INFO_NAME, &Size));
31 ASSERT_NE(Size, 0ul);
32}
33
34TEST_P(olGetDeviceInfoSizeTest, SuccessVendor) {
35 size_t Size = 0;
36 ASSERT_SUCCESS(olGetDeviceInfoSize(Device, OL_DEVICE_INFO_VENDOR, &Size));
37 ASSERT_NE(Size, 0ul);
38}
39
40TEST_P(olGetDeviceInfoSizeTest, SuccessDriverVersion) {
41 size_t Size = 0;
42 ASSERT_SUCCESS(
43 olGetDeviceInfoSize(Device, OL_DEVICE_INFO_DRIVER_VERSION, &Size));
44 ASSERT_NE(Size, 0ul);
45}
46
47TEST_P(olGetDeviceInfoSizeTest, SuccessMaxWorkGroupSize) {
48 size_t Size = 0;
49 ASSERT_SUCCESS(
50 olGetDeviceInfoSize(Device, OL_DEVICE_INFO_MAX_WORK_GROUP_SIZE, &Size));
51 ASSERT_EQ(Size, sizeof(ol_dimensions_t));
52 ASSERT_EQ(Size, sizeof(uint32_t) * 3);
53}
54
55TEST_P(olGetDeviceInfoSizeTest, InvalidNullHandle) {
56 size_t Size = 0;
57 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,
58 olGetDeviceInfoSize(nullptr, OL_DEVICE_INFO_TYPE, &Size));
59}
60
61TEST_P(olGetDeviceInfoSizeTest, InvalidDeviceInfoEnumeration) {
62 size_t Size = 0;
63 ASSERT_ERROR(OL_ERRC_INVALID_ENUMERATION,
64 olGetDeviceInfoSize(Device, OL_DEVICE_INFO_FORCE_UINT32, &Size));
65}
66
67TEST_P(olGetDeviceInfoSizeTest, InvalidNullPointer) {
68 ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,
69 olGetDeviceInfoSize(Device, OL_DEVICE_INFO_TYPE, nullptr));
70}
71

source code of offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp