1//===------- Offload API tests - olMemAlloc -------------------------------===//
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 "../common/Fixtures.hpp"
10#include <OffloadAPI.h>
11#include <gtest/gtest.h>
12
13using olMemAllocTest = OffloadDeviceTest;
14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olMemAllocTest);
15
16TEST_P(olMemAllocTest, SuccessAllocManaged) {
17 void *Alloc = nullptr;
18 ASSERT_SUCCESS(olMemAlloc(Device, OL_ALLOC_TYPE_MANAGED, 1024, &Alloc));
19 ASSERT_NE(Alloc, nullptr);
20 olMemFree(Alloc);
21}
22
23TEST_P(olMemAllocTest, SuccessAllocHost) {
24 void *Alloc = nullptr;
25 ASSERT_SUCCESS(olMemAlloc(Device, OL_ALLOC_TYPE_HOST, 1024, &Alloc));
26 ASSERT_NE(Alloc, nullptr);
27 olMemFree(Alloc);
28}
29
30TEST_P(olMemAllocTest, SuccessAllocDevice) {
31 void *Alloc = nullptr;
32 ASSERT_SUCCESS(olMemAlloc(Device, OL_ALLOC_TYPE_DEVICE, 1024, &Alloc));
33 ASSERT_NE(Alloc, nullptr);
34 olMemFree(Alloc);
35}
36
37TEST_P(olMemAllocTest, InvalidNullDevice) {
38 void *Alloc = nullptr;
39 ASSERT_ERROR(OL_ERRC_INVALID_NULL_HANDLE,
40 olMemAlloc(nullptr, OL_ALLOC_TYPE_DEVICE, 1024, &Alloc));
41}
42
43TEST_P(olMemAllocTest, InvalidNullOutPtr) {
44 ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,
45 olMemAlloc(Device, OL_ALLOC_TYPE_DEVICE, 1024, nullptr));
46}
47

source code of offload/unittests/OffloadAPI/memory/olMemAlloc.cpp