diff options
author | Juergen Haug | 2015-07-07 10:22:28 +0000 |
---|---|---|
committer | Juergen Haug | 2015-07-07 13:43:51 +0000 |
commit | f5d819988ab66b24df4f247a93e0b7fd43fbc198 (patch) | |
tree | 1f831ce304034a5755a8d8238b31cdbe585aa4cb /runtime/org.eclipse.etrice.runtime.c | |
parent | b43132eebb34507bf5436b5f19d8d0a645a33a21 (diff) | |
download | org.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.tar.gz org.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.tar.xz org.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.zip |
[etUnit] added etunit for modellib + fixes
Change-Id: I0ac5bea24dad22ed9bca4d7a606240c81c60cdde
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.c')
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c b/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c index 6690371db..544ffaf8f 100644 --- a/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c +++ b/runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c @@ -17,6 +17,7 @@ #include "debugging/etLogger.h" #include "osal/etSema.h" #include "runtime/etRuntime.h" +#include "helpers/etTimeHelpers.h" /*** member variables */ @@ -33,8 +34,7 @@ static etBool etUnit_testcaseSuccess[ETUNIT_MAX_TEST_CASES]; #define ETUNIT_FAILURE_TEXT_LEN 256 /* time measuring */ -static clock_t etUnit_startTime = 0; -static clock_t etUnit_currentTime = 0; +static etTime etUnit_startTime; /* order */ #define ETUNIT_ORDER_MAX 16 @@ -46,6 +46,15 @@ typedef struct OrderInfo { } OrderInfo; static OrderInfo etUnit_orderInfo[ETUNIT_ORDER_MAX]; +static OrderInfo* getOrderInfo(etInt16 id) { + int i; + for (i = 0; i < ETUNIT_ORDER_MAX; ++i) + if (etUnit_orderInfo[i].id == id) + return etUnit_orderInfo + i; + + return NULL; +} + /* forward declarations of private functions */ static void expect_equal_int(etInt16 id, const char* message, etInt32 expected, etInt32 actual, const char* file, int line); static void expect_range_int(etInt16 id, const char* message, etInt32 min, etInt32 max, etInt32 actual, const char* file, int line); @@ -87,9 +96,8 @@ void etUnit_open(const char* testResultPath, const char* testFileName) { } /* prepare time measurement */ - etUnit_startTime = clock(); - etUnit_currentTime = clock(); - etLogger_logInfoF("Start Time: %ld", etUnit_startTime); + getTimeFromTarget(&etUnit_startTime); + etLogger_logInfoF("Start Time: %ld", etTimeHelpers_convertToMSec(&etUnit_startTime)); } @@ -133,11 +141,20 @@ etInt16 etUnit_openTestCase(const char* testCaseName) { } void etUnit_closeTestCase(etInt16 id) { - clock_t time = clock() - etUnit_currentTime; - etUnit_currentTime = clock(); + etTime time; + getTimeFromTarget(&time); + etTimeHelpers_subtract(&time, &etUnit_startTime); + + OrderInfo* info = getOrderInfo(id); + if(info != NULL){ + if (info->currentIndex != info->size) { + char testresult[ETUNIT_FAILURE_TEXT_LEN]; + etUnit_handleExpect(id, ET_FALSE, "EXPECT_ORDER was not completed", NULL, NULL, 0, 0); + } + } if (etUnit_reportfile != NULL) { - etLogger_fprintf(etUnit_reportfile, "tc end %d: %d\n", id, time); + etLogger_fprintf(etUnit_reportfile, "tc end %d: %d\n", id, etTimeHelpers_convertToMSec(&time)); } } @@ -230,15 +247,6 @@ void expectRangeFloat64(etInt16 id, const char* message, etFloat64 min, etFloat6 expect_range_float(id, message, min, max, actual, file, line); } -static OrderInfo* getOrderInfo(etInt16 id) { - int i; - for (i = 0; i < ETUNIT_ORDER_MAX; ++i) - if (etUnit_orderInfo[i].id == id) - return etUnit_orderInfo + i; - - return NULL; -} - void expectOrderStart(etInt16 id, etInt16* list, etInt16 size, const char* file, int line) { int i; for (i = 0; i < ETUNIT_ORDER_MAX; ++i) |