1*fc54427eSJonas Devlieghere //===-- DataBufferTest.cpp ------------------------------------------------===// 2*fc54427eSJonas Devlieghere // 3*fc54427eSJonas Devlieghere // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*fc54427eSJonas Devlieghere // See https://llvm.org/LICENSE.txt for license information. 5*fc54427eSJonas Devlieghere // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*fc54427eSJonas Devlieghere // 7*fc54427eSJonas Devlieghere //===----------------------------------------------------------------------===// 8*fc54427eSJonas Devlieghere 9*fc54427eSJonas Devlieghere #include "gtest/gtest.h" 10*fc54427eSJonas Devlieghere 11*fc54427eSJonas Devlieghere #include "lldb/Utility/DataBuffer.h" 12*fc54427eSJonas Devlieghere #include "lldb/Utility/DataBufferHeap.h" 13*fc54427eSJonas Devlieghere #include "lldb/Utility/DataBufferLLVM.h" 14*fc54427eSJonas Devlieghere 15*fc54427eSJonas Devlieghere #include "llvm/Support/Casting.h" 16*fc54427eSJonas Devlieghere #include "llvm/Support/MemoryBuffer.h" 17*fc54427eSJonas Devlieghere 18*fc54427eSJonas Devlieghere using namespace lldb_private; 19*fc54427eSJonas Devlieghere using namespace lldb; 20*fc54427eSJonas Devlieghere TEST(DataBufferTest,RTTI)21*fc54427eSJonas DevlieghereTEST(DataBufferTest, RTTI) { 22*fc54427eSJonas Devlieghere { 23*fc54427eSJonas Devlieghere DataBufferSP data_buffer_sp = std::make_shared<DataBufferHeap>(); 24*fc54427eSJonas Devlieghere DataBuffer *data_buffer = data_buffer_sp.get(); 25*fc54427eSJonas Devlieghere 26*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer)); 27*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<WritableDataBuffer>(data_buffer)); 28*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<DataBufferHeap>(data_buffer)); 29*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<DataBufferLLVM>(data_buffer)); 30*fc54427eSJonas Devlieghere } 31*fc54427eSJonas Devlieghere 32*fc54427eSJonas Devlieghere { 33*fc54427eSJonas Devlieghere llvm::StringRef data; 34*fc54427eSJonas Devlieghere DataBufferSP data_buffer_sp = std::make_shared<DataBufferLLVM>( 35*fc54427eSJonas Devlieghere llvm::MemoryBuffer::getMemBufferCopy(data)); 36*fc54427eSJonas Devlieghere DataBuffer *data_buffer = data_buffer_sp.get(); 37*fc54427eSJonas Devlieghere 38*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer)); 39*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<DataBufferLLVM>(data_buffer)); 40*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<WritableDataBuffer>(data_buffer)); 41*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<WritableDataBufferLLVM>(data_buffer)); 42*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<DataBufferHeap>(data_buffer)); 43*fc54427eSJonas Devlieghere } 44*fc54427eSJonas Devlieghere 45*fc54427eSJonas Devlieghere { 46*fc54427eSJonas Devlieghere DataBufferSP data_buffer_sp = std::make_shared<WritableDataBufferLLVM>( 47*fc54427eSJonas Devlieghere llvm::WritableMemoryBuffer::getNewMemBuffer(1)); 48*fc54427eSJonas Devlieghere DataBuffer *data_buffer = data_buffer_sp.get(); 49*fc54427eSJonas Devlieghere 50*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<DataBuffer>(data_buffer)); 51*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<WritableDataBuffer>(data_buffer)); 52*fc54427eSJonas Devlieghere EXPECT_TRUE(llvm::isa<WritableDataBufferLLVM>(data_buffer)); 53*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<DataBufferLLVM>(data_buffer)); 54*fc54427eSJonas Devlieghere EXPECT_FALSE(llvm::isa<DataBufferHeap>(data_buffer)); 55*fc54427eSJonas Devlieghere } 56*fc54427eSJonas Devlieghere } 57