MCPcopy Create free account
hub / github.com/Kitware/CMake / PostProcessBoundsCheckerTest

Method PostProcessBoundsCheckerTest

Source/CTest/cmCTestMemCheckHandler.cxx:1272–1313  ·  view source on GitHub ↗

This method puts the bounds checker output file into the output for the test

Source from the content-addressed store, hash-verified

1270// This method puts the bounds checker output file into the output
1271// for the test
1272void 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
1315void cmCTestMemCheckHandler::PostProcessDrMemoryTest(
1316 cmCTestTestHandler::cmCTestTestResult& res, int test)

Callers 1

PostProcessTestMethod · 0.95

Calls 3

TestOutputFileNamesMethod · 0.95
c_strMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected