diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-05-24 20:10:31 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-05-24 20:10:31 +0000 |
commit | 997cdd67b929ac251c96c6263fbf6f26f023d285 (patch) | |
tree | 7e8e65e68eaeb354523dc7cf5717763997a1876e /covoar | |
parent | 2010-05-24 Jennifer Averett <Jennifer.Averett@OARcorp.com> (diff) | |
download | rtems-testing-997cdd67b929ac251c96c6263fbf6f26f023d285.tar.bz2 |
2010-05-24 Joel Sherrill <joel.sherrilL@OARcorp.com>
* CoverageReaderTSIM.cc: Add branch coverage to TSIM. Only on erc32 and
leon3 at this time.
* ChangeLog: New file.
Diffstat (limited to 'covoar')
-rw-r--r-- | covoar/ChangeLog | 3 | ||||
-rw-r--r-- | covoar/CoverageReaderTSIM.cc | 25 |
2 files changed, 20 insertions, 8 deletions
diff --git a/covoar/ChangeLog b/covoar/ChangeLog new file mode 100644 index 0000000..ff47b67 --- /dev/null +++ b/covoar/ChangeLog @@ -0,0 +1,3 @@ +2010-05-24 TEAM + + * Created directory and split covoar from rtems-coverage. diff --git a/covoar/CoverageReaderTSIM.cc b/covoar/CoverageReaderTSIM.cc index 90ed4b5..4f63dab 100644 --- a/covoar/CoverageReaderTSIM.cc +++ b/covoar/CoverageReaderTSIM.cc @@ -13,6 +13,7 @@ #include <stdlib.h> #include <sys/stat.h> +#include "app_common.h" #include "CoverageReaderTSIM.h" #include "CoverageMap.h" #include "ExecutableInfo.h" @@ -21,6 +22,7 @@ namespace Coverage { CoverageReaderTSIM::CoverageReaderTSIM() { + } CoverageReaderTSIM::~CoverageReaderTSIM() @@ -62,6 +64,7 @@ namespace Coverage { } for (i=0; i < 0x80; i+=4) { + unsigned int a; status = fscanf( coverageFile, "%d", &cover ); if (status == EOF || status == 0) { fprintf( @@ -77,15 +80,21 @@ namespace Coverage { // Obtain the coverage map containing the address and // mark the address as executed. // + a = baseAddress + i; + aCoverageMap = executableInformation->getCoverageMap( a ); + if (!aCoverageMap) + continue; if (cover & 1) { - aCoverageMap = executableInformation->getCoverageMap( - baseAddress + i - ); - if (aCoverageMap) { - aCoverageMap->setWasExecuted( baseAddress + i ); - aCoverageMap->setWasExecuted( baseAddress + i + 1 ); - aCoverageMap->setWasExecuted( baseAddress + i + 2 ); - aCoverageMap->setWasExecuted( baseAddress + i + 3 ); + aCoverageMap->setWasExecuted( a ); + aCoverageMap->setWasExecuted( a + 1 ); + aCoverageMap->setWasExecuted( a + 2 ); + aCoverageMap->setWasExecuted( a + 3 ); + if ( cover & 0x10 ) { + aCoverageMap->setWasTaken( a ); + BranchInfoAvailable = true; + } else if ( cover & 0x20 ) { + aCoverageMap->setWasNotTaken( a ); + BranchInfoAvailable = true; } } } |