diff options
author | Thomas Schuetz | 2012-03-19 20:19:14 +0000 |
---|---|---|
committer | Thomas Schuetz | 2012-03-19 20:19:14 +0000 |
commit | 47712bfedcd394935f7084dcdaf06983cd28c2f1 (patch) | |
tree | 5e197f253432fe9b5d88c53e227536e5ad61c72b | |
parent | 48a22b0f5438f2b5a537a6bf861d5ede3511bfef (diff) | |
download | org.eclipse.etrice-47712bfedcd394935f7084dcdaf06983cd28c2f1.tar.gz org.eclipse.etrice-47712bfedcd394935f7084dcdaf06983cd28c2f1.tar.xz org.eclipse.etrice-47712bfedcd394935f7084dcdaf06983cd28c2f1.zip |
[runtime.c.tests] created project for c runtime tests
16 files changed, 834 insertions, 13 deletions
diff --git a/tests/org.eclipse.etrice.generator.c.tests/manualCGenLaunch.launch b/tests/org.eclipse.etrice.generator.c.tests/manualCGenLaunch.launch deleted file mode 100644 index 8cca4809d..000000000 --- a/tests/org.eclipse.etrice.generator.c.tests/manualCGenLaunch.launch +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/Main.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.etrice.generator.c.Main"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${workspace_loc:org.eclipse.etrice.generator.c.tests}\model\cGenRef.room"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.generator.c"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.cproject b/tests/org.eclipse.etrice.runtime.c.tests/.cproject new file mode 100644 index 000000000..c3d526a91 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/.cproject @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?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="Debug"> + <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"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921" name="Debug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug"> + <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921." name="/" resourcePath=""> + <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.26197628" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug"> + <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1073090191" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/> + <builder buildPath="${workspace_loc:/org.eclipse.etrice.runtime.c.tests/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.64789272" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.1179559506" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug"> + <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1410253936" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.319252746" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.563265204" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug"> + <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.377091827" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> + <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.409821780" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.167909865" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug"> + <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.1219570738" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/> + <option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.395490525" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> + <option id="gnu.c.compiler.option.include.paths.1357425285" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/generic}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1172891920" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.120553682" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug"> + <option id="gnu.c.link.option.libs.2086220577" superClass="gnu.c.link.option.libs" valueType="libs"> + <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/> + </option> + <option id="gnu.c.link.option.paths.1825342638" superClass="gnu.c.link.option.paths" valueType="libPaths"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.808003614" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> + <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> + <additionalInput kind="additionalinput" paths="$(LIBS)"/> + </inputType> + </tool> + <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1226357464" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/> + </toolChain> + </folderInfo> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.release.555768451"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.release.555768451" moduleId="org.eclipse.cdt.core.settings" name="Release"> + <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"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.release.555768451" name="Release" parent="cdt.managedbuild.config.gnu.mingw.exe.release"> + <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.release.555768451." name="/" resourcePath=""> + <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.release.787710489" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.release"> + <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.release.1566686961" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.release"/> + <builder buildPath="${workspace_loc:/org.eclipse.etrice.runtime.c.tests/Release}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.2069558512" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release.1447988334" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release"> + <inputType id="cdt.managedbuild.tool.gnu.assembler.input.311387646" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1004968672" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release.1225540190" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release"> + <option id="gnu.cpp.compiler.mingw.exe.release.option.optimization.level.1178176555" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> + <option id="gnu.cpp.compiler.mingw.exe.release.option.debugging.level.1658820738" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.974255730" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release"> + <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.mingw.exe.release.option.optimization.level.1401601457" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.release.option.optimization.level" valueType="enumerated"/> + <option id="gnu.c.compiler.mingw.exe.release.option.debugging.level.549937307" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> + <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.390299655" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release.1028915119" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release"> + <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.2146808965" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> + <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> + <additionalInput kind="additionalinput" paths="$(LIBS)"/> + </inputType> + </tool> + <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release.1711402769" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release"/> + </toolChain> + </folderInfo> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <project id="org.eclipse.etrice.runtime.c.tests.cdt.managedbuild.target.gnu.mingw.exe.654604449" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/> + </storageModule> + <storageModule moduleId="scannerConfiguration"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> + <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921;cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.167909865;cdt.managedbuild.tool.gnu.c.compiler.input.1172891920"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> + </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.555768451;cdt.managedbuild.config.gnu.mingw.exe.release.555768451.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.974255730;cdt.managedbuild.tool.gnu.c.compiler.input.390299655"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> + </scannerConfigBuildInfo> + </storageModule> +</cproject> diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.gitignore b/tests/org.eclipse.etrice.runtime.c.tests/.gitignore new file mode 100644 index 000000000..47a573ae9 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/.gitignore @@ -0,0 +1,4 @@ +Debug +Release +src-gen/* +!src-gen/readme.txt diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.project b/tests/org.eclipse.etrice.runtime.c.tests/.project new file mode 100644 index 000000000..80d3076f7 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/.project @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.etrice.runtime.c.tests</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> + <triggers>clean,full,incremental,</triggers> + <arguments> + <dictionary> + <key>?name?</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.append_environment</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildArguments</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildCommand</key> + <value>make</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildLocation</key> + <value>${workspace_loc:/org.eclipse.etrice.runtime.c.tests/Debug}</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.contents</key> + <value>org.eclipse.cdt.make.core.activeConfigSettings</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableAutoBuild</key> + <value>false</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableCleanBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableFullBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.stopOnError</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> + <value>true</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> + <triggers>full,incremental,</triggers> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.cdt.core.cnature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> + </natures> +</projectDescription> diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/tests/org.eclipse.etrice.runtime.c.tests/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 000000000..461fded88 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 20:48:40 CET 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/CPATH/delimiter=; +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/CPATH/operation=remove +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/append=true +environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/appendContributed=true +environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/append=true +environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.mingw.exe.debug.1638834921/appendContributed=true diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/RunAllTestcases.c b/tests/org.eclipse.etrice.runtime.c.tests/src/RunAllTestcases.c new file mode 100644 index 000000000..0228acdf9 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/RunAllTestcases.c @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2011 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 "runtime/RunCRuntimeTestcases.h" + + +int main(void){ + RunCRuntimeTestcases(); + return 0; +} + + + 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 new file mode 100644 index 000000000..a8536fe89 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2011 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) + * + *******************************************************************************/ + + +/* + * RunRuntimeTestcases.c + * + * Created on: 12.01.2012 + * Author: tschuetz + */ + + + +#include "RunCRuntimeTestcases.h" + +#include "TestEtMessage.h" +#include "TestEtMessageQueue.h" +#include "TestEtMessageService.h" +#include "TestEtUnit.h" + +#include "etUnit/etUnit.h" + + +void RunCRuntimeTestcases(void){ + etUnit_open("tmp/testlog","TestCRuntime"); + + TestEtMessage_runSuite(); + TestEtMessageQueue_runSuite(); + TestEtMessageService_runSuite(); + TestEtUnit_runSuite(); + + etUnit_close(); + + /* special situation for testing openAll and closeAll of etUnit + * this has to be done outside of etUnit_open and etUnit_close */ + etUnit_openAll("tmp/testlog","TestEtUnitSpecial", "etUnit", "openAll and closeAll"); + EXPECT_TRUE("Open and Close", TRUE); + etUnit_closeAll(); +} + diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.h new file mode 100644 index 000000000..5d17f7ddb --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.h @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2011 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) + * + *******************************************************************************/ + + +/* + * RunRuntimeTestcases.h + * + * Created on: 12.01.2012 + * Author: tschuetz + */ + +#ifndef _RUNCRUNTIMETESTCASES_H_ +#define _RUNCRUNTIMETESTCASES_H_ + +void RunCRuntimeTestcases(void); + +#endif /* _RUNCRUNTIMETESTCASES_H_ */ diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.c new file mode 100644 index 000000000..a0e6b55b9 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.c @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2011 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 "TestEtMessage.h" + +#include <stddef.h> +#include "etUnit/etUnit.h" +#include "messaging/etMessage.h" + + + +void TestEtMessage_testBasicMessage(void){ + + etMessage msg1 = {(etMessage*)1234567, 123,456,}; + etMessage msg2 = {NULL, 222,333}; + + // basic checks -> detects structure changes that would cause problems for generated code + EXPECT_EQUAL_PTR("Message.next", 1234567, msg1.next); + EXPECT_EQUAL_INT16("Message.address", 123, msg1.address); + EXPECT_EQUAL_INT16("Message.evtID", 456, msg1.evtID); + + // build pointer ring + msg1.next = &msg2; + msg2.next = &msg1; + + EXPECT_EQUAL_INT16("msg1.NextMsg", msg2.evtID, msg1.next->evtID); + EXPECT_EQUAL_INT16("msg2.NextMsg", msg1.evtID, msg2.next->evtID); + +} + +void TestEtMessage_runSuite(void){ + etUnit_openTestSuite("TestMessage"); + ADD_TESTCASE(TestEtMessage_testBasicMessage); + etUnit_closeTestSuite(); +} + diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.h new file mode 100644 index 000000000..67b45e4e1 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessage.h @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2011 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 _TESTMESSAGE_H_ +#define _TESTMESSAGE_H_ + + +void TestEtMessage_runSuite(void); + + +#endif /* _TESTMESSAGE_H_ */ diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.c new file mode 100644 index 000000000..30228fc98 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.c @@ -0,0 +1,99 @@ +/******************************************************************************* + * Copyright (c) 2011 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 "TestEtMessageQueue.h" +#include "etUnit/etUnit.h" +#include "messaging/etMessageQueue.h" + +void TestEtMessageQueue_testPushPop(void){ + + etMessage msg1 = {NULL, 123, 456}; + etMessage msg2 = {NULL, 222, 333}; + + etMessageQueue queue1; + etMessageQueue_init(&queue1); + + etMessageQueue_push(&queue1, &msg1); + etMessageQueue_push(&queue1, &msg2); + + EXPECT_EQUAL_INT16("etMessageQueue.size before", 2, queue1.size); + EXPECT_EQUAL_INT16("etMessageQueue.highWaterMark before", 2, queue1.highWaterMark); + + etMessage* rcvMsg1 = etMessageQueue_pop(&queue1); + etMessage* rcvMsg2 = etMessageQueue_pop(&queue1); + + EXPECT_EQUAL_INT16("etMessageQueue.size after", 0, queue1.size); + EXPECT_EQUAL_INT16("etMessageQueue.highWaterMark after", 2, queue1.highWaterMark); + + EXPECT_EQUAL_INT16("rcvMsg1->address", 123, rcvMsg1->address); + EXPECT_EQUAL_INT16("rcvMsg1->evtID", 456, rcvMsg1->evtID); + EXPECT_EQUAL_PTR("rcvMsg1->next", NULL, rcvMsg1->next); + + EXPECT_EQUAL_INT16("rcvMsg2->address", 222, rcvMsg2->address); + EXPECT_EQUAL_INT16("rcvMsg2->evtID", 333, rcvMsg2->evtID); + EXPECT_EQUAL_PTR("rcvMsg2->next", NULL, rcvMsg2->next); + + EXPECT_EQUAL_PTR("etMessageQueue->first", NULL, queue1.first); + EXPECT_EQUAL_PTR("etMessageQueue->last", NULL, queue1.last); + + etMessage* rcvMsg3 = etMessageQueue_pop(&queue1); + EXPECT_EQUAL_PTR("etMessageQueue_pop if empty", NULL, rcvMsg3); + +} + +#define MAX 1000 + +void TestEtMessageQueue_testMassiveMessaging(void){ + + etMessage msgArray[MAX]; + + etMessageQueue queue1; + etMessageQueue_init(&queue1); + + int16 i; + for(i=0; i<MAX; i++){ + //etMessage_init(&msgArray[i]); + msgArray[i].address = i; + msgArray[i].evtID = i; + } + + int j; + for(j=0; j<3; j++){ + for (i=0; i<MAX; i++){ + etMessageQueue_push(&queue1, &(msgArray[i])); + } + for (i=0; i<MAX; i++){ + etMessage* msg = etMessageQueue_pop(&queue1); + // EXPECTS are hidden to avoid too many testcases in log + if (msg == NULL){ + EXPECT_FALSE("msg == NULL", TRUE); + break; + } + if (msg->address != msg->evtID){ + EXPECT_FALSE("msg->address != msg->evtID", TRUE); + break; + } + if (msg->address != i){ + EXPECT_FALSE("msg->address != i", TRUE); + break; + } + } + EXPECT_EQUAL_INT32("i==MAX", MAX, i); + } +} + +void TestEtMessageQueue_runSuite(void){ + etUnit_openTestSuite("TestEtMessageQueue"); + ADD_TESTCASE(TestEtMessageQueue_testPushPop); + ADD_TESTCASE(TestEtMessageQueue_testMassiveMessaging); + etUnit_closeTestSuite(); +} diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.h new file mode 100644 index 000000000..afceea8f8 --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageQueue.h @@ -0,0 +1,18 @@ +/******************************************************************************* + * Copyright (c) 2011 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 _TESTRMESSAGEQUEUE_H_ +#define _TESTRMESSAGEQUEUE_H_ + +void TestEtMessageQueue_runSuite(void); + +#endif /* _TESTRMESSAGEQUEUE_H_ */ diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c new file mode 100644 index 000000000..b9b4cbbad --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c @@ -0,0 +1,241 @@ +/******************************************************************************* + * Copyright (c) 2011 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 "TestEtMessageService.h" +#include "etUnit/etUnit.h" +#include "messaging/etMessageService.h" + + +/* mocking for MessageDispatcher */ + +static etInt16 receivedEventIDs[2] = {0,0}; +static etInt16 receivedEventIDCounter = 0; + +void MessageReceiver1(const etMessage* msg){ + receivedEventIDs[receivedEventIDCounter] = msg->evtID; + receivedEventIDCounter++; +} + +void MessageReceiver2(const etMessage* msg){ + receivedEventIDs[receivedEventIDCounter] = msg->evtID; + receivedEventIDCounter++; +} + +/* dummy message dispatcher */ +void DummyMessageDispatcher(const etMessage* msg){ + switch(msg->address){ + case 11: + MessageReceiver1(msg); + break; + case 22: + MessageReceiver2(msg); + break; + default: + break; + } +} + +void TestEtMessageService_init(void){ + + etMessageService msgService; + uint16 max = 6; + uint16 blockSize = 32; + + uint8 msgBuffer[max*blockSize]; + + etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher); + + EXPECT_EQUAL_PTR("msgService.messagePool.first", msgBuffer, msgService.messagePool.first); + EXPECT_EQUAL_PTR("msgService.messagePool in between", &msgBuffer[3*blockSize], msgService.messagePool.first->next->next->next); + EXPECT_EQUAL_PTR("msgService.messagePool.last(1)", &msgBuffer[5*blockSize], msgService.messagePool.first->next->next->next->next->next); + EXPECT_EQUAL_PTR("msgService.messagePool.last(2)", &msgBuffer[5*blockSize], msgService.messagePool.last); + EXPECT_EQUAL_PTR("msgService.messagePool.last.next", 0, msgService.messagePool.last->next); + +} + +void TestEtMessageService_GetPushPopReturn(void){ + + etMessageService msgService; + uint16 max = 6; + uint16 blockSize = 32; + uint8 msgBuffer[max*blockSize]; + + etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher); + + // get messages from pool + etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessage* msg2 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + + EXPECT_EQUAL_INT16("msgService.messagePool.size", 4, msgService.messagePool.size); + + // define content + msg1->address = 11; + msg1->evtID = 111; + msg2->address = 22; + msg2->evtID = 222; + + // push messages to queue + etMessageService_pushMessage(&msgService, msg2); + etMessageService_pushMessage(&msgService, msg1); + + EXPECT_EQUAL_INT16("msgService.messageQueue.size", 2, msgService.messageQueue.size); + + // pop messages from queue + etMessage* rcvMsg1 = etMessageService_popMessage(&msgService); + etMessage* rcvMsg2 = etMessageService_popMessage(&msgService); + + EXPECT_EQUAL_INT16("msgService.messageQueue.size",0, msgService.messageQueue.size); + + + EXPECT_EQUAL_INT16("msgService.popMessage", 22, rcvMsg1->address); + EXPECT_EQUAL_INT16("msgService.popMessage", 222, rcvMsg1->evtID); + EXPECT_EQUAL_INT16("msgService.popMessage", 11, rcvMsg2->address); + EXPECT_EQUAL_INT16("msgService.popMessage", 111, rcvMsg2->evtID); + + etMessageService_returnMessageBuffer(&msgService, rcvMsg1); + etMessageService_returnMessageBuffer(&msgService, rcvMsg2); + + EXPECT_EQUAL_INT16("msgService.messagePool.size", 6, msgService.messagePool.size); + +} + +void TestEtMessageService_GetReturn(void){ + + etMessageService msgService; + uint16 max = 2; + uint16 blockSize = 32; + uint8 msgBuffer[max*blockSize]; + + etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher); + + // get one message too much from pool + etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessage* msg2 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessage* msg3 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + EXPECT_TRUE("msgService getMessageBuffer", msg1!=NULL); + EXPECT_TRUE("msgService getMessageBuffer", msg2!=NULL); + EXPECT_EQUAL_PTR("msgService getMessageBuffer", msg3, NULL); + + // return messages + etMessageService_returnMessageBuffer(&msgService, msg1); + etMessageService_returnMessageBuffer(&msgService, msg2); + EXPECT_EQUAL_INT16("msgService.messagePool.size", 2, msgService.messagePool.size); + + // get message bigger than blocksize + etMessage* msg4 = etMessageService_getMessageBuffer(&msgService, 33); + EXPECT_EQUAL_PTR("msgService getMessageBuffer", msg4, NULL); + +} + +void TestEtMessageService_execute(void){ + etMessageService msgService; + uint16 max = 6; + uint16 blockSize = 32; + uint8 msgBuffer[max*blockSize]; + + etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher); + + // get messages from pool + etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessage* msg2 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + + // define content + msg1->address = 11; + msg1->evtID = 111; + msg2->address = 22; + msg2->evtID = 222; + + // push messages to queue + etMessageService_pushMessage(&msgService, msg1); + etMessageService_pushMessage(&msgService, msg2); + + /* make sure that receivedEventIDCounter==0 and receivedEventIDs[n]==0*/ + etMessageService_execute(&msgService); + EXPECT_EQUAL_INT16("deliverAllMessages msg1", msg1->evtID, receivedEventIDs[0]); + EXPECT_EQUAL_INT16("deliverAllMessages msg2", msg2->evtID, receivedEventIDs[1]); + EXPECT_EQUAL_INT16("deliverAllMessages receivedEventIDCounter", 2, receivedEventIDCounter); +} + +void TestEtMessageService_getMessagePoolLowWaterMark(void){ + etMessageService msgService; + uint16 max = 6; + uint16 blockSize = 32; + uint8 msgBuffer[max*blockSize]; + + etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher); + + EXPECT_EQUAL_INT16("inital low water mark", max, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + // get messages from pool + etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessage* msg2 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + + // define content + msg1->address = 11; + msg1->evtID = 111; + msg2->address = 22; + msg2->evtID = 222; + + // push messages to queue + etMessageService_pushMessage(&msgService, msg2); + etMessageService_pushMessage(&msgService, msg1); + + EXPECT_EQUAL_INT16("low water mark 1", max-2, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + // pop messages from queue + etMessage* rcvMsg1 = etMessageService_popMessage(&msgService); + etMessage* rcvMsg2 = etMessageService_popMessage(&msgService); + + etMessageService_returnMessageBuffer(&msgService, rcvMsg1); + etMessageService_returnMessageBuffer(&msgService, rcvMsg2); + + EXPECT_EQUAL_INT16("low water mark 2", max-2, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + msg2 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessageService_pushMessage(&msgService, msg2); + etMessageService_pushMessage(&msgService, msg1); + + /*still the same*/ + EXPECT_EQUAL_INT16("low water mark 3", max-2, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessageService_pushMessage(&msgService, msg2); + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessageService_pushMessage(&msgService, msg2); + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessageService_pushMessage(&msgService, msg2); + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + etMessageService_pushMessage(&msgService, msg2); + + /* no message left */ + EXPECT_EQUAL_INT16("low water mark 4", 0, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage)); + EXPECT_EQUAL_PTR("check message for NULL", NULL, msg1); + + /* still no message left */ + EXPECT_EQUAL_INT16("low water mark 6", 0, etMessageService_getMessagePoolLowWaterMark(&msgService)); + + +} + + +void TestEtMessageService_runSuite(void){ + etUnit_openTestSuite("TestEtMessageService"); + ADD_TESTCASE(TestEtMessageService_init); + ADD_TESTCASE(TestEtMessageService_GetPushPopReturn); + ADD_TESTCASE(TestEtMessageService_GetReturn); + ADD_TESTCASE(TestEtMessageService_execute); + ADD_TESTCASE(TestEtMessageService_getMessagePoolLowWaterMark) + etUnit_closeTestSuite(); +} diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.h new file mode 100644 index 000000000..b8925ebdd --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.h @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2011 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 _TESTRMESSAGESERVICE_H_ +#define _TESTRMESSAGESERVICE_H_ + +#include "messaging/etMessageService.h" + +void TestEtMessageService_runSuite(void); + + +#endif /* _TESTRMESSAGESERVICE_H_ */ diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c new file mode 100644 index 000000000..42359c26a --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.c @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2011 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) + * + *******************************************************************************/ + + +/* + * TestEtUnit.c + * + * Created on: 16.01.2012 + * Author: tschuetz + */ + +#include "TestEtUnit.h" +#include "etUnit/etUnit.h" + +void TestEtUnit_Expect(void){ + EXPECT_TRUE("EXPECT_TRUE", TRUE); + EXPECT_FALSE("EXPECT_FALSE", FALSE); + + /* signed integer values */ + EXPECT_EQUAL_INT8("EXPECT_EQUAL_INT8", -123, -123); + EXPECT_EQUAL_INT16("EXPECT_EQUAL_INT16", -12345, -12345); + EXPECT_EQUAL_INT32("EXPECT_EQUAL_INT32", -1234567, -1234567); + + /* unsigned integer values */ + EXPECT_EQUAL_UINT8("EXPECT_EQUAL_INT8", 123, 123); + EXPECT_EQUAL_UINT16("EXPECT_EQUAL_INT16", 12345, 12345); + EXPECT_EQUAL_UINT32("EXPECT_EQUAL_INT32", 1234567, 1234567); + + /* float values */ + EXPECT_EQUAL_FLOAT32("EXPECT_EQUAL_FLOAT32", (etFloat32) 123.456, (etFloat32) 123.456, (etFloat32) 0.0001); + EXPECT_EQUAL_FLOAT32("EXPECT_EQUAL_FLOAT32", (etFloat32) 123.456, (etFloat32) 123.456, (etFloat32) 0.0001); + + /* Pointers */ + etUInt16 value; + etUInt16* valuePtr = &value; + + EXPECT_EQUAL_PTR("EXPECT_EQUAL_PTR", &value, valuePtr) \ + +} + + +void TestEtUnit_Expect_Order(void){ + etInt16 list[] = {1,2,3,4}; + EXPECT_ORDER_START(list, 4); + EXPECT_ORDER("id=1", 1); + EXPECT_ORDER("id=2", 2); + EXPECT_ORDER("id=3", 3); + EXPECT_ORDER_END("id=4", 4); +} + +void TestEtUnit_runSuite(void){ + etUnit_openTestSuite("TestEtUnit"); + ADD_TESTCASE(TestEtUnit_Expect_Order); + ADD_TESTCASE(TestEtUnit_Expect); + etUnit_closeTestSuite(); +} + + diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.h new file mode 100644 index 000000000..e591d27ef --- /dev/null +++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtUnit.h @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2011 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) + * + *******************************************************************************/ + + +/* + * TestEtUnit.h + * + * Created on: 16.01.2012 + * Author: tschuetz + */ + +#ifndef _TESTETUNIT_H_ +#define _TESTETUNIT_H_ + +void TestEtUnit_runSuite(void); + +#endif /* _TESTETUNIT_H_ */ |