46 lines · cpp
1//===------- Offload API tests - olCalculateOptimalOccupancy --------------===//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 "../common/Fixtures.hpp"10#include <OffloadAPI.h>11#include <gtest/gtest.h>12 13using olCalculateOptimalOccupancyTest = OffloadKernelTest;14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olCalculateOptimalOccupancyTest);15 16TEST_P(olCalculateOptimalOccupancyTest, Success) {17 size_t Size{0};18 ASSERT_SUCCESS_OR_UNSUPPORTED(19 olCalculateOptimalOccupancy(Device, Kernel, 0, &Size));20 ASSERT_GT(Size, 0u);21}22 23TEST_P(olCalculateOptimalOccupancyTest, SuccessMem) {24 size_t Size{0};25 ASSERT_SUCCESS_OR_UNSUPPORTED(26 olCalculateOptimalOccupancy(Device, Kernel, 1024, &Size));27 ASSERT_GT(Size, 0u);28}29 30TEST_P(olCalculateOptimalOccupancyTest, NullKernel) {31 size_t Size;32 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,33 olCalculateOptimalOccupancy(Device, nullptr, 0, &Size));34}35 36TEST_P(olCalculateOptimalOccupancyTest, NullDevice) {37 size_t Size;38 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,39 olCalculateOptimalOccupancy(nullptr, Kernel, 0, &Size));40}41 42TEST_P(olCalculateOptimalOccupancyTest, NullOutput) {43 ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,44 olCalculateOptimalOccupancy(Device, Kernel, 0, nullptr));45}46