Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1000)

Unified Diff: unittests/Bitcode/NaClBitReaderTest.cpp

Issue 1310883003: Install notion of diagnostic handler into PNaCl bitcode readers. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Fix issues in patch set 2. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « unittests/Bitcode/CMakeLists.txt ('k') | unittests/Bitcode/NaClMungeTest.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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()));
}
}
« no previous file with comments | « unittests/Bitcode/CMakeLists.txt ('k') | unittests/Bitcode/NaClMungeTest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698