diff options
author | Chris Johns <chrisj@rtems.org> | 2014-05-09 21:50:37 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2014-06-18 16:48:08 +1200 |
commit | 100f517ab37265acdf067e36b6860020ec8b2184 (patch) | |
tree | 2316c8b888e11dcbcfbfc66a0c1e31991ea20656 /tester/covoar/CoverageFactory.cc | |
parent | 4.11: Add ntp patch. (diff) | |
download | rtems-tools-100f517ab37265acdf067e36b6860020ec8b2184.tar.bz2 |
covoar: Merger the covoar source from rtems-testing.git.
Use waf to build covoar.
Diffstat (limited to 'tester/covoar/CoverageFactory.cc')
-rw-r--r-- | tester/covoar/CoverageFactory.cc | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tester/covoar/CoverageFactory.cc b/tester/covoar/CoverageFactory.cc new file mode 100644 index 0000000..8b30371 --- /dev/null +++ b/tester/covoar/CoverageFactory.cc @@ -0,0 +1,81 @@ +/*! @file CoverageFactory.cc + * @brief CoverageFactory Implementation + * + * This file contains the implementation of the functions supporting + * creating a CoverageReader or CoverageWriter of a specific type + * based upon user configuration. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "CoverageFactory.h" +#include "CoverageReaderQEMU.h" +#include "CoverageReaderRTEMS.h" +#include "CoverageWriterRTEMS.h" +#include "CoverageReaderSkyeye.h" +#include "CoverageWriterSkyeye.h" +#include "CoverageReaderTSIM.h" +#include "CoverageWriterTSIM.h" + +Coverage::CoverageFormats_t Coverage::CoverageFormatToEnum( + const char* const format +) +{ + if (!strcmp( format, "QEMU" )) + return COVERAGE_FORMAT_QEMU; + + if (!strcmp( format, "RTEMS" )) + return COVERAGE_FORMAT_RTEMS; + + if (!strcmp( format, "Skyeye" )) + return COVERAGE_FORMAT_SKYEYE; + + if (!strcmp( format, "TSIM" )) + return COVERAGE_FORMAT_TSIM; + + fprintf( + stderr, + "ERROR: %s is an unknown coverage format " + "(supported formats - QEMU, RTEMS, Skyeye and TSIM)\n", + format + ); + exit( 1 ); +} + +Coverage::CoverageReaderBase* Coverage::CreateCoverageReader( + CoverageFormats_t format +) +{ + switch (format) { + case COVERAGE_FORMAT_QEMU: + return new Coverage::CoverageReaderQEMU(); + case COVERAGE_FORMAT_RTEMS: + return new Coverage::CoverageReaderRTEMS(); + case COVERAGE_FORMAT_SKYEYE: + return new Coverage::CoverageReaderSkyeye(); + case COVERAGE_FORMAT_TSIM: + return new Coverage::CoverageReaderTSIM(); + default: + break; + } + return NULL; +} + +Coverage::CoverageWriterBase* Coverage::CreateCoverageWriter( + CoverageFormats_t format +) +{ + switch (format) { + case COVERAGE_FORMAT_RTEMS: + return new Coverage::CoverageWriterRTEMS(); + case COVERAGE_FORMAT_SKYEYE: + return new Coverage::CoverageWriterSkyeye(); + case COVERAGE_FORMAT_TSIM: + return new Coverage::CoverageWriterTSIM(); + default: + break; + } + return NULL; +} |