Index: unittests/Bitcode/NaClMungedIoTest.cpp |
diff --git a/unittests/Bitcode/NaClMungedIoTest.cpp b/unittests/Bitcode/NaClMungedIoTest.cpp |
index 950f09be1613eee377e55760ae1e32e162bb71d4..016860dc4b086d5355b2d7991fbfa9872ff98373 100644 |
--- a/unittests/Bitcode/NaClMungedIoTest.cpp |
+++ b/unittests/Bitcode/NaClMungedIoTest.cpp |
@@ -38,12 +38,19 @@ typedef SmallVector<char, 1024> TextBuffer; |
// the text buffer. Returns a corresponding memory buffer containing |
// the munged bitcode records. |
std::unique_ptr<MemoryBuffer> writeMungedBitcode( |
- NaClMungedBitcode &Bitcode, TextBuffer &Buffer) { |
- Bitcode.write(Buffer, /* AddHeader = */ true); |
+ NaClMungedBitcode &Bitcode, TextBuffer &Buffer, |
+ NaClMungedBitcode::WriteFlags &Flags) { |
+ Bitcode.write(Buffer, /* AddHeader = */ true, Flags); |
StringRef Input(Buffer.data(), Buffer.size()); |
return MemoryBuffer::getMemBuffer(Input, "Test", false); |
} |
+std::unique_ptr<MemoryBuffer> writeMungedBitcode( |
+ NaClMungedBitcode &Bitcode, TextBuffer &Buffer) { |
+ NaClMungedBitcode::WriteFlags Flags; |
+ return writeMungedBitcode(Bitcode, Buffer, Flags); |
+} |
+ |
// Write out the bitcode, parse it back, and return the resulting |
// munged bitcode. |
std::string parseWrittenMungedBitcode(NaClMungedBitcode &OutBitcode) { |
@@ -160,9 +167,15 @@ TEST(NaClMungedIoTest, TestTruncatedNonalignedBitcode) { |
stringify(Bitcode)); |
// Show that we can't write the bitcode correctly. |
- TextBuffer Buffer; |
- EXPECT_DEATH(writeMungedBitcode(Bitcode, Buffer), |
- ".*Unflushed data remaining.*"); |
+ TextBuffer WriteBuffer; |
+ std::string LogBuffer; |
+ raw_string_ostream StrBuf(LogBuffer); |
+ NaClMungedBitcode::WriteFlags Flags; |
+ Flags.setErrStream(StrBuf); |
+ writeMungedBitcode(Bitcode, WriteBuffer, Flags); |
+ EXPECT_EQ( |
+ "Error (Block 8): Missing close block.\n", |
+ StrBuf.str()); |
} |
} // end of anonymous namespace |