61 lines · cpp
1//===-- WrapperFunctionBufferTest.cpp -------------------------------------===//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// Test WrapperFunctionBuffer APIs.10//11//===----------------------------------------------------------------------===//12 13#include "orc-rt-c/WrapperFunction.h"14#include "orc-rt/WrapperFunction.h"15#include "gtest/gtest.h"16 17using namespace orc_rt;18 19namespace {20constexpr const char *TestString = "test string";21} // end anonymous namespace22 23TEST(WrapperFunctionUtilsTest, DefaultWrapperFunctionBuffer) {24 WrapperFunctionBuffer B;25 EXPECT_TRUE(B.empty());26 EXPECT_EQ(B.size(), 0U);27 EXPECT_EQ(B.getOutOfBandError(), nullptr);28}29 30TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromCStruct) {31 orc_rt_WrapperFunctionBuffer CB =32 orc_rt_CreateWrapperFunctionBufferFromString(TestString);33 WrapperFunctionBuffer B(CB);34 EXPECT_EQ(B.size(), strlen(TestString) + 1);35 EXPECT_TRUE(strcmp(B.data(), TestString) == 0);36 EXPECT_FALSE(B.empty());37 EXPECT_EQ(B.getOutOfBandError(), nullptr);38}39 40TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromRange) {41 auto B = WrapperFunctionBuffer::copyFrom(TestString, strlen(TestString) + 1);42 EXPECT_EQ(B.size(), strlen(TestString) + 1);43 EXPECT_TRUE(strcmp(B.data(), TestString) == 0);44 EXPECT_FALSE(B.empty());45 EXPECT_EQ(B.getOutOfBandError(), nullptr);46}47 48TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromCString) {49 auto B = WrapperFunctionBuffer::copyFrom(TestString);50 EXPECT_EQ(B.size(), strlen(TestString) + 1);51 EXPECT_TRUE(strcmp(B.data(), TestString) == 0);52 EXPECT_FALSE(B.empty());53 EXPECT_EQ(B.getOutOfBandError(), nullptr);54}55 56TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromOutOfBandError) {57 auto B = WrapperFunctionBuffer::createOutOfBandError(TestString);58 EXPECT_FALSE(B.empty());59 EXPECT_TRUE(strcmp(B.getOutOfBandError(), TestString) == 0);60}61