This method puts the bounds checker output file into the output for the test
| 1270 | // This method puts the bounds checker output file into the output |
| 1271 | // for the test |
| 1272 | void cmCTestMemCheckHandler::PostProcessBoundsCheckerTest( |
| 1273 | cmCTestTestResult& res, int test) |
| 1274 | { |
| 1275 | cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, |
| 1276 | "PostProcessBoundsCheckerTest for : " << res.Name |
| 1277 | << std::endl, |
| 1278 | this->Quiet); |
| 1279 | std::vector<std::string> files; |
| 1280 | this->TestOutputFileNames(test, files); |
| 1281 | if (files.empty()) { |
| 1282 | return; |
| 1283 | } |
| 1284 | std::string ofile = files[0]; |
| 1285 | if (ofile.empty()) { |
| 1286 | return; |
| 1287 | } |
| 1288 | // put a scope around this to close ifs so the file can be removed |
| 1289 | { |
| 1290 | cmsys::ifstream ifs(ofile.c_str()); |
| 1291 | if (!ifs) { |
| 1292 | std::string log = "Cannot read memory tester output file: " + ofile; |
| 1293 | cmCTestLog(this->CTest, ERROR_MESSAGE, log << std::endl); |
| 1294 | return; |
| 1295 | } |
| 1296 | res.Output += BOUNDS_CHECKER_MARKER; |
| 1297 | res.Output += "\n"; |
| 1298 | std::string line; |
| 1299 | while (cmSystemTools::GetLineFromStream(ifs, line)) { |
| 1300 | res.Output += line; |
| 1301 | res.Output += "\n"; |
| 1302 | } |
| 1303 | } |
| 1304 | cmSystemTools::Delay(1000); |
| 1305 | cmSystemTools::RemoveFile(this->BoundsCheckerDPBDFile); |
| 1306 | cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, |
| 1307 | "Remove: " << this->BoundsCheckerDPBDFile << std::endl, |
| 1308 | this->Quiet); |
| 1309 | cmSystemTools::RemoveFile(this->BoundsCheckerXMLFile); |
| 1310 | cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, |
| 1311 | "Remove: " << this->BoundsCheckerXMLFile << std::endl, |
| 1312 | this->Quiet); |
| 1313 | } |
| 1314 | |
| 1315 | void cmCTestMemCheckHandler::PostProcessDrMemoryTest( |
| 1316 | cmCTestTestHandler::cmCTestTestResult& res, int test) |
no test coverage detected