Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Schuetz2014-06-25 09:07:58 +0000
committerThomas Schuetz2014-06-25 09:07:58 +0000
commit7b24fc19dc000f23f00c04b205c4e6d90c2f6e4b (patch)
tree9aee9202b0d50658a5b70f89165ceae230e1709b /tests
parentab7f7e23d6ac7eb57ebec017f4328766e3da5501 (diff)
downloadorg.eclipse.etrice-7b24fc19dc000f23f00c04b205c4e6d90c2f6e4b.tar.gz
org.eclipse.etrice-7b24fc19dc000f23f00c04b205c4e6d90c2f6e4b.tar.xz
org.eclipse.etrice-7b24fc19dc000f23f00c04b205c4e6d90c2f6e4b.zip
[runtime.c] added util folder with RandomGenerator and added testcase
Diffstat (limited to 'tests')
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/.cproject9
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c2
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.c59
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.h19
4 files changed, 86 insertions, 3 deletions
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.cproject b/tests/org.eclipse.etrice.runtime.c.tests/.cproject
index 9e7423dea..6fd57bccd 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/.cproject
+++ b/tests/org.eclipse.etrice.runtime.c.tests/.cproject
@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921" moduleId="org.eclipse.cdt.core.settings" name="PosixDebug">
<externalSettings/>
<extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -75,10 +77,10 @@
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921.786066887" moduleId="org.eclipse.cdt.core.settings" name="MinGWDebug">
<externalSettings/>
<extensions>
+ <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
@@ -101,6 +103,7 @@
<tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.base.1424953928" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.base">
<option id="gnu.c.compiler.option.include.paths.1702919365" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/util}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
index c34509180..2cb465d71 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
@@ -29,6 +29,7 @@
#include "TestEtQueue.h"
#include "TestEtTimer.h"
#include "helpers/TestEtTimeHelpers.h"
+#include "util/TestUtil.h"
#include "etUnit/etUnit.h"
#include "debugging/etMSCLogger.h"
@@ -47,6 +48,7 @@ void RunCRuntimeTestcases(void){
TestEtUnit_runSuite();
TestEtTimer_runSuite();
TestEtTimeHelpers_runSuite();
+ TestUtil_runSuite();
etUnit_close();
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.c
new file mode 100644
index 000000000..187ceb4a9
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.c
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2014 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "TestUtil.h"
+
+#include "etUnit/etUnit.h"
+
+#include "RandomGenerator.h"
+
+static void TestFifoBuffer (etInt16 id) {
+ EXPECT_TRUE(id, "TestFifoBuffer", FALSE);
+}
+
+static void TestRandomGenerator (etInt16 id) {
+ RandomGenerator rand;
+ int i;
+ double result, sum, average;
+
+ sum = average = 0;
+ RandomGenerator_init(&rand, 0.321, -1, 1);
+ for (i=0; i<1000; i++){
+ result = RandomGenerator_getNext(&rand);
+ EXPECT_RANGE_FLOAT64(id, "random [-1,+1]", -1., +1., result); /* check for range */
+ sum += result;
+ }
+ average = sum / (float64)i;
+ EXPECT_RANGE_FLOAT64(id, "average [-1,+1]", -0.1, 0.1, average); /* check for quality */
+
+ sum = average = 0;
+ RandomGenerator_init(&rand, 0.321, -500., 1000.);
+ for (i=0; i<1000; i++){
+ result = RandomGenerator_getNext(&rand);
+ EXPECT_RANGE_FLOAT64(id, "random [-500,+1000]", -500., +1000., result); /* check for range */
+ sum += result;
+ }
+ average = sum / (float64)i;
+ EXPECT_RANGE_FLOAT64(id, "average [-500,+1000]", 245., 255., average); /* check for quality */
+
+
+}
+
+
+void TestUtil_runSuite(void){
+ etUnit_openTestSuite("TestUtil");
+ ADD_TESTCASE(TestFifoBuffer);
+ ADD_TESTCASE(TestRandomGenerator);
+ etUnit_closeTestSuite();
+}
+
+
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.h
new file mode 100644
index 000000000..d27647bb1
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/util/TestUtil.h
@@ -0,0 +1,19 @@
+/*******************************************************************************
+ * Copyright (c) 2014 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _TESTUTL_H_
+#define _TESTUTL_H_
+
+void TestUtil_runSuite(void);
+
+
+#endif /* _TESTUTL_H_ */

Back to the top