brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 02e805d Raw
50 lines · cpp
1//===------- Offload API tests - olIsValidBinary --------------------------===//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 olIsValidBinaryTest = OffloadDeviceTest;14OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE(olIsValidBinaryTest);15 16TEST_P(olIsValidBinaryTest, Success) {17 18  std::unique_ptr<llvm::MemoryBuffer> DeviceBin;19  ASSERT_TRUE(TestEnvironment::loadDeviceBinary("foo", Device, DeviceBin));20  ASSERT_GE(DeviceBin->getBufferSize(), 0lu);21 22  bool IsValid = false;23  ASSERT_SUCCESS(olIsValidBinary(Device, DeviceBin->getBufferStart(),24                                 DeviceBin->getBufferSize(), &IsValid));25  ASSERT_TRUE(IsValid);26 27  ASSERT_SUCCESS(28      olIsValidBinary(Device, DeviceBin->getBufferStart(), 0, &IsValid));29  ASSERT_FALSE(IsValid);30}31 32TEST_P(olIsValidBinaryTest, Invalid) {33 34  std::unique_ptr<llvm::MemoryBuffer> DeviceBin;35  ASSERT_TRUE(TestEnvironment::loadDeviceBinary("foo", Device, DeviceBin));36  ASSERT_GE(DeviceBin->getBufferSize(), 0lu);37 38  bool IsValid = false;39  ASSERT_SUCCESS(40      olIsValidBinary(Device, DeviceBin->getBufferStart(), 0, &IsValid));41  ASSERT_FALSE(IsValid);42}43 44TEST_P(olIsValidBinaryTest, NullPointer) {45  bool IsValid = false;46  ASSERT_ERROR(OL_ERRC_INVALID_NULL_POINTER,47               olIsValidBinary(Device, nullptr, 42, &IsValid));48  ASSERT_FALSE(IsValid);49}50