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

Unified Diff: unittests/Bitcode/NaClMungedIoTest.cpp

Issue 1139673004: Harden writer of munged bitcode for fuzzing (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Fix issues in last patch. Created 5 years, 7 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/NaClMungeWriteErrorTests.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « unittests/Bitcode/NaClMungeWriteErrorTests.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698