blob: ff8cf410ffb73d0e29ea78472793950427831364 [file] [edit]
//===------- Offload API tests - olGetMemInfoSize -------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include <OffloadAPI.h>
#include "../common/Properties.hpp"
struct olGetMemInfoSizeTypesTest : olPropertyTest<ol_mem_info_t> {
void *OffsetPtr() { return &reinterpret_cast<char *>(Ptr)[123]; }
void SetUp() override {
RETURN_ON_FATAL_FAILURE(olPropertyTest<ol_mem_info_t>::SetUp());
ASSERT_SUCCESS(olMemAlloc(this->Context, this->Device, OL_ALLOC_TYPE_DEVICE,
0x1024, &Ptr));
}
void TearDown() override {
ASSERT_SUCCESS(olMemFree(this->Context, Ptr));
RETURN_ON_FATAL_FAILURE(olPropertyTest<ol_mem_info_t>::TearDown());
}
void *Ptr;
};
OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE_WITH_PARAM(
olGetMemInfoSizeTypesTest, MemInfoSizeProperties,
defaultPropertyTestPrinter<ol_mem_info_t>);
struct olGetMemInfoSizeTest : OffloadDeviceTest {
void *OffsetPtr() { return &reinterpret_cast<char *>(Ptr)[123]; }
void SetUp() override {
RETURN_ON_FATAL_FAILURE(OffloadDeviceTest::SetUp());
ASSERT_SUCCESS(olMemAlloc(this->Context, this->Device, OL_ALLOC_TYPE_DEVICE,
0x1024, &Ptr));
}
void TearDown() override {
ASSERT_SUCCESS(olMemFree(this->Context, Ptr));
RETURN_ON_FATAL_FAILURE(OffloadDeviceTest::TearDown());
}
void *Ptr;
};
OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olGetMemInfoSizeTest);
TEST_P(olGetMemInfoSizeTypesTest, Success) {
size_t Size = 0;
ASSERT_SUCCESS(olGetMemInfoSize(Context, Ptr, Property, &Size));
ASSERT_EQ(Size, PropertySize);
}
TEST_P(olGetMemInfoSizeTest, InvalidSymbolInfoEnumeration) {
size_t Size = 0;
ASSERT_ERROR(OL_ERRC_INVALID_ENUMERATION,
olGetMemInfoSize(Context, Ptr, OL_MEM_INFO_FORCE_UINT32, &Size));
}
TEST_P(olGetMemInfoSizeTest, InvalidNullPointer) {
ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,
olGetMemInfoSize(Context, Ptr, OL_MEM_INFO_DEVICE, nullptr));
}