OLD | NEW |
1 //===--- Bitcode/NaCl/TestUtils/NaClBitcodeMunge.cpp - Bitcode Munger -----===// | 1 //===--- Bitcode/NaCl/TestUtils/NaClBitcodeMunge.cpp - Bitcode Munger -----===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // Bitcode writer/munger implementation for testing. | 10 // Bitcode writer/munger implementation for testing. |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 return cleanupTest(); | 134 return cleanupTest(); |
135 } | 135 } |
136 | 136 |
137 bool NaClParseBitcodeMunger::runTest(const uint64_t Munges[], size_t MungesSize, | 137 bool NaClParseBitcodeMunger::runTest(const uint64_t Munges[], size_t MungesSize, |
138 bool VerboseErrors) { | 138 bool VerboseErrors) { |
139 bool AddHeader = true; | 139 bool AddHeader = true; |
140 if (!setupTest(Munges, MungesSize, AddHeader)) | 140 if (!setupTest(Munges, MungesSize, AddHeader)) |
141 return cleanupTest(); | 141 return cleanupTest(); |
142 | 142 |
143 LLVMContext &Context = getGlobalContext(); | 143 LLVMContext &Context = getGlobalContext(); |
144 | |
145 raw_ostream *VerboseStrm = VerboseErrors ? &getDumpStream() : nullptr; | |
146 ErrorOr<Module *> ModuleOrError = | 144 ErrorOr<Module *> ModuleOrError = |
147 NaClParseBitcodeFile(MungedInput->getMemBufferRef(), Context, | 145 NaClParseBitcodeFile(MungedInput->getMemBufferRef(), Context, |
148 VerboseStrm); | 146 redirectNaClDiagnosticToStream(getDumpStream())); |
149 if (ModuleOrError) { | 147 if (ModuleOrError) { |
150 if (VerboseErrors) | 148 if (VerboseErrors) |
151 getDumpStream() << "Successful parse!\n"; | 149 getDumpStream() << "Successful parse!\n"; |
152 delete ModuleOrError.get(); | 150 delete ModuleOrError.get(); |
153 } else { | 151 } else { |
154 Error() << ModuleOrError.getError().message() << "\n"; | 152 Error() << ModuleOrError.getError().message() << "\n"; |
155 } | 153 } |
156 return cleanupTest(); | 154 return cleanupTest(); |
157 } | 155 } |
158 | 156 |
159 bool NaClCompressMunger::runTest(const uint64_t Munges[], size_t MungesSize) { | 157 bool NaClCompressMunger::runTest(const uint64_t Munges[], size_t MungesSize) { |
160 bool AddHeader = true; | 158 bool AddHeader = true; |
161 if (!setupTest(Munges, MungesSize, AddHeader)) | 159 if (!setupTest(Munges, MungesSize, AddHeader)) |
162 return cleanupTest(); | 160 return cleanupTest(); |
163 | 161 |
164 NaClBitcodeCompressor Compressor; | 162 NaClBitcodeCompressor Compressor; |
165 if (!Compressor.compress(MungedInput.get(), getDumpStream())) | 163 if (!Compressor.compress(MungedInput.get(), getDumpStream())) |
166 Error() << "Unable to compress\n"; | 164 Error() << "Unable to compress\n"; |
167 return cleanupTest(); | 165 return cleanupTest(); |
168 } | 166 } |
OLD | NEW |