| 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
|
|
|