Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2015-07-07 10:22:28 +0000
committerJuergen Haug2015-07-07 13:43:51 +0000
commitf5d819988ab66b24df4f247a93e0b7fd43fbc198 (patch)
tree1f831ce304034a5755a8d8238b31cdbe585aa4cb /runtime/org.eclipse.etrice.runtime.c
parentb43132eebb34507bf5436b5f19d8d0a645a33a21 (diff)
downloadorg.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.tar.gz
org.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.tar.xz
org.eclipse.etrice-f5d819988ab66b24df4f247a93e0b7fd43fbc198.zip
[etUnit] added etunit for modellib + fixes
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.c')
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/etUnit/etUnit.c42
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)

Back to the top