diff options
author | Thomas Schuetz | 2014-06-25 09:07:58 +0000 |
---|---|---|
committer | Thomas Schuetz | 2014-06-25 09:07:58 +0000 |
commit | 7b24fc19dc000f23f00c04b205c4e6d90c2f6e4b (patch) | |
tree | 9aee9202b0d50658a5b70f89165ceae230e1709b /tests | |
parent | ab7f7e23d6ac7eb57ebec017f4328766e3da5501 (diff) | |
download | org.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
Change-Id: I404f87b6bc2752f3ee2a1a23751f0053b54c5768
Diffstat (limited to 'tests')
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=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/util}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/> 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_ */ |