summaryrefslogtreecommitdiffstats
path: root/tester/covoar/CoverageWriterSkyeye.cc
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2018-05-11 14:24:11 +1200
committerChris Johns <chrisj@rtems.org>2018-06-18 12:26:16 +1000
commit881824f766937a47fb494f97f4ebcd44c99135cc (patch)
tree0af3d9422ba8e0eae6df8458cc08d4aafacff301 /tester/covoar/CoverageWriterSkyeye.cc
parentlinkers/exe-info: Add DWARF support to gather and check producer details. (diff)
downloadrtems-tools-881824f766937a47fb494f97f4ebcd44c99135cc.tar.bz2
tester/covoar: Remove all exit() calls and throw an rld::error exception.
Add a suitable catch to covoar's main.
Diffstat (limited to 'tester/covoar/CoverageWriterSkyeye.cc')
-rw-r--r--tester/covoar/CoverageWriterSkyeye.cc54
1 files changed, 27 insertions, 27 deletions
diff --git a/tester/covoar/CoverageWriterSkyeye.cc b/tester/covoar/CoverageWriterSkyeye.cc
index e0aa943..7f78644 100644
--- a/tester/covoar/CoverageWriterSkyeye.cc
+++ b/tester/covoar/CoverageWriterSkyeye.cc
@@ -8,13 +8,19 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stdio.h>
#include <string.h>
+#include <iostream>
+#include <iomanip>
+
+#include <rld.h>
+
#include "CoverageWriterSkyeye.h"
#include "skyeye_header.h"
namespace Coverage {
-
+
CoverageWriterSkyeye::CoverageWriterSkyeye()
{
}
@@ -39,14 +45,11 @@ namespace Coverage {
/*
* read the file and update the coverage map passed in
*/
- coverageFile = fopen( file, "w" );
+ coverageFile = ::fopen( file, "w" );
if ( !coverageFile ) {
- fprintf(
- stderr,
- "ERROR: CoverageWriterSkyeye::writeFile - unable to open %s\n",
- file
- );
- exit(-1);
+ std::ostringstream what;
+ what << "Unable to open " << file;
+ throw rld::error( what, "CoverageWriterSkyeye::writeFile" );
}
/* clear out the header and fill it in */
@@ -57,34 +60,31 @@ namespace Coverage {
header.prof_end = highAddress;
strcpy( header.desc, "Skyeye Coverage Data" );
- status = fwrite(&header, 1, sizeof(header), coverageFile);
+ status = ::fwrite(&header, 1, sizeof(header), coverageFile);
if (status != sizeof(header)) {
- fprintf(
- stderr,
- "ERROR: CoverageWriterSkyeye::writeFile - unable to write header "
- "to %s\n",
- file
- );
- exit(-1);
+ ::fclose( coverageFile );
+ std::ostringstream what;
+ what << "Unable to write header to " << file;
+ throw rld::error( what, "CoverageWriterSkyeye::writeFile" );
}
- for ( a=lowAddress ; a < highAddress ; a+= 8 ) {
+ for ( a = lowAddress; a < highAddress; a += 8 ) {
cover = ((coverage->wasExecuted( a )) ? 0x01 : 0);
cover |= ((coverage->wasExecuted( a + 4 )) ? 0x10 : 0);
status = fwrite(&cover, 1, sizeof(cover), coverageFile);
if (status != sizeof(cover)) {
- fprintf(
- stderr,
- "ERROR: CoverageWriterSkyeye::writeFile - write to %s "
- "at address 0x%08x failed\n",
- file,
- a
- );
- exit( -1 );
+ ::fclose( coverageFile );
+ std::ostringstream what;
+ what << "write to " << file
+ << " at address 0x"
+ << std::hex << std::setfill('0')
+ << std::setw(8) << a
+ << std::setfill(' ') << std::dec
+ << "failed";
+ throw rld::error( what, "CoverageWriterSkyeye::writeFile" );
}
- // fprintf( stderr, "0x%x %d\n", a, cover );
}
- fclose( coverageFile );
+ ::fclose( coverageFile );
}
}