brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 862b008 Raw
91 lines · cpp
1//===------- Offload API tests - olGetPlatformInfo -------------------===//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 olGetPlatformInfoTest = OffloadPlatformTest;14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetPlatformInfoTest);15 16TEST_P(olGetPlatformInfoTest, SuccessName) {17  size_t Size = 0;18  ASSERT_SUCCESS(olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_NAME, &Size));19  ASSERT_GT(Size, 0ul);20  std::vector<char> Name;21  Name.resize(Size);22  ASSERT_SUCCESS(23      olGetPlatformInfo(Platform, OL_PLATFORM_INFO_NAME, Size, Name.data()));24  ASSERT_EQ(std::strlen(Name.data()), Size - 1);25}26 27TEST_P(olGetPlatformInfoTest, SuccessVendorName) {28  size_t Size = 0;29  ASSERT_SUCCESS(30      olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_VENDOR_NAME, &Size));31  ASSERT_GT(Size, 0ul);32  std::vector<char> VendorName;33  VendorName.resize(Size);34  ASSERT_SUCCESS(olGetPlatformInfo(Platform, OL_PLATFORM_INFO_VENDOR_NAME, Size,35                                   VendorName.data()));36  ASSERT_EQ(std::strlen(VendorName.data()), Size - 1);37}38 39TEST_P(olGetPlatformInfoTest, SuccessVersion) {40  size_t Size = 0;41  ASSERT_SUCCESS(42      olGetPlatformInfoSize(Platform, OL_PLATFORM_INFO_VERSION, &Size));43  ASSERT_GT(Size, 0ul);44  std::vector<char> Version;45  Version.resize(Size);46  ASSERT_SUCCESS(olGetPlatformInfo(Platform, OL_PLATFORM_INFO_VERSION, Size,47                                   Version.data()));48  ASSERT_EQ(std::strlen(Version.data()), Size - 1);49}50 51TEST_P(olGetPlatformInfoTest, SuccessBackend) {52  ol_platform_backend_t Backend;53  ASSERT_SUCCESS(olGetPlatformInfo(Platform, OL_PLATFORM_INFO_BACKEND,54                                   sizeof(ol_platform_backend_t), &Backend));55}56 57TEST_P(olGetPlatformInfoTest, InvalidNullHandle) {58  ol_platform_backend_t Backend;59  ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,60               olGetPlatformInfo(nullptr, OL_PLATFORM_INFO_BACKEND,61                                 sizeof(Backend), &Backend));62}63 64TEST_P(olGetPlatformInfoTest, InvalidPlatformInfoEnumeration) {65  ol_platform_backend_t Backend;66  ASSERT_ERROR(OL_ERRC_INVALID_ENUMERATION,67               olGetPlatformInfo(Platform, OL_PLATFORM_INFO_FORCE_UINT32,68                                 sizeof(Backend), &Backend));69}70 71TEST_P(olGetPlatformInfoTest, InvalidSizeZero) {72  ol_platform_backend_t Backend;73  ASSERT_ERROR(74      OL_ERRC_INVALID_SIZE,75      olGetPlatformInfo(Platform, OL_PLATFORM_INFO_BACKEND, 0, &Backend));76}77 78TEST_P(olGetPlatformInfoTest, InvalidSizeSmall) {79  ol_platform_backend_t Backend;80  ASSERT_ERROR(OL_ERRC_INVALID_SIZE,81               olGetPlatformInfo(Platform, OL_PLATFORM_INFO_BACKEND,82                                 sizeof(Backend) - 1, &Backend));83}84 85TEST_P(olGetPlatformInfoTest, InvalidNullPointerPropValue) {86  ol_platform_backend_t Backend;87  ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,88               olGetPlatformInfo(Platform, OL_PLATFORM_INFO_BACKEND,89                                 sizeof(Backend), nullptr));90}91