Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortjung2012-09-15 19:24:30 +0000
committertjung2012-09-15 19:24:30 +0000
commit46d7837c46461d8d73d2d453f6cde0f11879ded6 (patch)
tree9a08aac533132f5698978d814ad04d974bda5952 /runtime
parentb2439cde88607b99bccba4a18c5680ed18b27a08 (diff)
parenta600fd6b9613872281afc43c549511b12a625699 (diff)
downloadorg.eclipse.etrice-46d7837c46461d8d73d2d453f6cde0f11879ded6.tar.gz
org.eclipse.etrice-46d7837c46461d8d73d2d453f6cde0f11879ded6.tar.xz
org.eclipse.etrice-46d7837c46461d8d73d2d453f6cde0f11879ded6.zip
Merge branch 'master' of ssh://git.eclipse.org/gitroot/etrice/org.eclipse.etrice
Conflicts: plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
Diffstat (limited to 'runtime')
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/buckminster.cspec2
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/etunit/EtUnit.java1
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java4
-rw-r--r--runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java46
4 files changed, 51 insertions, 2 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/buckminster.cspec b/runtime/org.eclipse.etrice.runtime.c/buckminster.cspec
new file mode 100644
index 000000000..3982c48d6
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/buckminster.cspec
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0" name="org.eclipse.etrice.runtime.c" componentType="buckminster" version="0.0.2"/>
diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/etunit/EtUnit.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/etunit/EtUnit.java
index 04233a314..1f13e88f4 100644
--- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/etunit/EtUnit.java
+++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/etunit/EtUnit.java
@@ -52,6 +52,7 @@ public class EtUnit {
out.close();
out = new BufferedWriter(fstream);
+ out.write("etUnit report\n");
}
catch (IOException e) {
System.err.println("unable to open "+path);
diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java
index 0eb198936..5a1cb1ac2 100644
--- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java
+++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemClassBase.java
@@ -32,8 +32,8 @@ public abstract class SubSystemClassBase extends RTObject implements IEventRecei
private TestSemaphore testSem=null;
private int testErrorCode;
- public SubSystemClassBase(IRTObject parent, String name) {
- super(parent, name);
+ public SubSystemClassBase(String name) {
+ super(null, name);
DebuggingService.getInstance().getAsyncLogger()
.setMSC(name + "_Async", "");
diff --git a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java
index 0d1d9c039..14148e001 100644
--- a/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java
+++ b/runtime/org.eclipse.etrice.runtime.java/src/org/eclipse/etrice/runtime/java/modelbase/SubSystemRunnerBase.java
@@ -12,6 +12,42 @@ import java.io.InputStreamReader;
*/
public class SubSystemRunnerBase {
+ private static final String OPTION_RUN_AS_TEST = "-run_as_test";
+
+ private static boolean test = false;
+ protected static TestSemaphore testSem = new TestSemaphore(0);
+
+ protected static void run(SubSystemClassBase main_component, String[] args) {
+
+ System.out.println("*** T H E B E G I N ***");
+
+ for (String arg : args) {
+ if (arg.equals(OPTION_RUN_AS_TEST)) {
+
+ System.out.println("*** running as test");
+ test = true;
+ }
+ }
+
+ if (test)
+ main_component.setTestSemaphore(testSem);
+
+ main_component.init(); // lifecycle init
+ main_component.start(); // lifecycle start
+
+ // application runs until quit
+ if (test)
+ waitForTestcase();
+ else
+ waitForQuit();
+
+ // end the lifecycle
+ main_component.stop(); // lifecycle stop
+ main_component.destroy(); // lifecycle destroy
+
+ System.out.println("*** T H E E N D ***");
+ }
+
/**
* blocks until the String "quit" is entered on the console
*/
@@ -31,4 +67,14 @@ public class SubSystemRunnerBase {
}
}
+ public static void waitForTestcase() {
+ try{
+ System.out.println("=== waitForTestcase: before acq. semaphore, thread "+Thread.currentThread().getName());
+ testSem.acquire(1);
+ System.out.println("=== waitForTestcase: after acq. semaphore, thread "+Thread.currentThread().getName());
+ }catch(InterruptedException e){
+ System.out.println("Semaphore fault !");
+ }
+ }
+
}

Back to the top