Renames WrapperFunctionResult to WrapperFunctionBuffer. This reflects intended usage as a buffer for both arguments and results. The WrapperFunctionResult.h headers are renamed to WrapperFunction.h as they will be extended with further wrapper-function related APIs in an upcoming patch.
61 lines
2.1 KiB
C++
61 lines
2.1 KiB
C++
//===-- WrapperFunctionBufferTest.cpp -------------------------------------===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Test WrapperFunctionBuffer APIs.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "orc-rt-c/WrapperFunction.h"
|
|
#include "orc-rt/WrapperFunction.h"
|
|
#include "gtest/gtest.h"
|
|
|
|
using namespace orc_rt;
|
|
|
|
namespace {
|
|
constexpr const char *TestString = "test string";
|
|
} // end anonymous namespace
|
|
|
|
TEST(WrapperFunctionUtilsTest, DefaultWrapperFunctionBuffer) {
|
|
WrapperFunctionBuffer B;
|
|
EXPECT_TRUE(B.empty());
|
|
EXPECT_EQ(B.size(), 0U);
|
|
EXPECT_EQ(B.getOutOfBandError(), nullptr);
|
|
}
|
|
|
|
TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromCStruct) {
|
|
orc_rt_WrapperFunctionBuffer CB =
|
|
orc_rt_CreateWrapperFunctionBufferFromString(TestString);
|
|
WrapperFunctionBuffer B(CB);
|
|
EXPECT_EQ(B.size(), strlen(TestString) + 1);
|
|
EXPECT_TRUE(strcmp(B.data(), TestString) == 0);
|
|
EXPECT_FALSE(B.empty());
|
|
EXPECT_EQ(B.getOutOfBandError(), nullptr);
|
|
}
|
|
|
|
TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromRange) {
|
|
auto B = WrapperFunctionBuffer::copyFrom(TestString, strlen(TestString) + 1);
|
|
EXPECT_EQ(B.size(), strlen(TestString) + 1);
|
|
EXPECT_TRUE(strcmp(B.data(), TestString) == 0);
|
|
EXPECT_FALSE(B.empty());
|
|
EXPECT_EQ(B.getOutOfBandError(), nullptr);
|
|
}
|
|
|
|
TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromCString) {
|
|
auto B = WrapperFunctionBuffer::copyFrom(TestString);
|
|
EXPECT_EQ(B.size(), strlen(TestString) + 1);
|
|
EXPECT_TRUE(strcmp(B.data(), TestString) == 0);
|
|
EXPECT_FALSE(B.empty());
|
|
EXPECT_EQ(B.getOutOfBandError(), nullptr);
|
|
}
|
|
|
|
TEST(WrapperFunctionUtilsTest, WrapperFunctionBufferFromOutOfBandError) {
|
|
auto B = WrapperFunctionBuffer::createOutOfBandError(TestString);
|
|
EXPECT_FALSE(B.empty());
|
|
EXPECT_TRUE(strcmp(B.getOutOfBandError(), TestString) == 0);
|
|
}
|