Index: unittests/Bitcode/NaClBitReaderTest.cpp |
diff --git a/unittests/Bitcode/NaClBitReaderTest.cpp b/unittests/Bitcode/NaClBitReaderTest.cpp |
index 2593bbbe63f0f9e1ad162593f47ac07ae7a0a74d..0277d0ef8352a7b34d0e732d881e8fb908af5818 100644 |
--- a/unittests/Bitcode/NaClBitReaderTest.cpp |
+++ b/unittests/Bitcode/NaClBitReaderTest.cpp |
@@ -7,10 +7,12 @@ |
// |
//===----------------------------------------------------------------------===// |
+#include "NaClMungeTest.h" |
#include "llvm/ADT/SmallString.h" |
#include "llvm/Bitcode/BitstreamWriter.h" |
#include "llvm/Bitcode/NaCl/NaClReaderWriter.h" |
#include "llvm/IR/Constants.h" |
+#include "llvm/IR/DiagnosticPrinter.h" |
#include "llvm/IR/Instructions.h" |
#include "llvm/IR/LLVMContext.h" |
#include "llvm/IR/Module.h" |
@@ -19,7 +21,8 @@ |
#include "llvm/Support/MemoryBuffer.h" |
#include "gtest/gtest.h" |
-namespace llvm { |
+using namespace llvm; |
+ |
namespace { |
static std::unique_ptr<Module> makeLLVMModule() { |
@@ -49,7 +52,8 @@ static void writeModuleToBuffer(SmallVectorImpl<char> &Buffer) { |
TEST(NaClBitReaderTest, MaterializeSimpleModule) { |
SmallString<1024> Mem; |
writeModuleToBuffer(Mem); |
- std::unique_ptr<MemoryBuffer> Buffer = MemoryBuffer::getMemBuffer(Mem.str(), "test", false); |
+ std::unique_ptr<MemoryBuffer> Buffer = |
+ MemoryBuffer::getMemBuffer(Mem.str(), "test", false); |
ErrorOr<Module *> ModuleOrErr = |
getNaClLazyBitcodeModule(std::move(Buffer), getGlobalContext()); |
EXPECT_EQ(true, bool(ModuleOrErr)); |
@@ -65,13 +69,15 @@ TEST(NaClBitReaderTest, BadDataAfterModule) { |
SmallString<1024> Mem; |
writeModuleToBuffer(Mem); |
Mem.append("more"); // Length must be divisible by 4! |
- std::unique_ptr<MemoryBuffer> Buffer = MemoryBuffer::getMemBuffer(Mem.str(), "test", false); |
+ std::unique_ptr<MemoryBuffer> Buffer = |
+ MemoryBuffer::getMemBuffer(Mem.str(), "test", false); |
+ std::string OutputBuffer; |
+ raw_string_ostream OutputStream(OutputBuffer); |
ErrorOr<Module *> ModuleOrErr = |
- getNaClLazyBitcodeModule(std::move(Buffer), getGlobalContext()); |
+ getNaClLazyBitcodeModule(std::move(Buffer), getGlobalContext(), |
+ redirectNaClDiagnosticToStream(OutputStream)); |
EXPECT_EQ(false, bool(ModuleOrErr)); |
- std::string BadMessage("Invalid data after module"); |
- EXPECT_EQ(BadMessage, ModuleOrErr.getError().message()); |
-} |
- |
+ std::string BadMessage("Invalid data after module\n"); |
+ EXPECT_EQ(BadMessage, naclmungetest::stripErrorPrefix(OutputStream.str())); |
} |
} |