]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.tests.modelled/src/org/simantics/tests/modelled/junit/RuntimeSTSSuiteRunner.java
Fixing modelled STS tests to not include nested JUnit suites
[simantics/platform.git] / bundles / org.simantics.tests.modelled / src / org / simantics / tests / modelled / junit / RuntimeSTSSuiteRunner.java
1 package org.simantics.tests.modelled.junit;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 import java.util.List;\r
6 \r
7 import org.junit.runner.Description;\r
8 import org.simantics.scl.compiler.commands.CommandSession;\r
9 import org.simantics.scl.osgi.SCLOsgi;\r
10 \r
11 public class RuntimeSTSSuiteRunner extends RuntimeSTSRunner<RuntimeSTSTestRunner> {\r
12 \r
13     private final List<RuntimeSTSTestRunner> children = new ArrayList<>();\r
14     private final String suiteName;\r
15 \r
16     protected RuntimeSTSSuiteRunner(Class<?> clazz, String suiteName) throws Exception {\r
17         super(clazz);\r
18         this.suiteName = suiteName;\r
19     }\r
20 \r
21     @Override\r
22     protected String getName() {\r
23         return suiteName;\r
24     }\r
25 \r
26     @Override\r
27     public Description getDescription() {\r
28         Description description = Description.createSuiteDescription(getName(), getRunnerAnnotations());\r
29         getChildren().forEach(child -> description.addChild(describeChild(child)));\r
30         return description;\r
31     }\r
32 \r
33     public void addChildren(Collection<RuntimeSTSTestRunner> testChildren) {\r
34         CommandSession session = new CommandSession(SCLOsgi.MODULE_REPOSITORY, null);\r
35         testChildren.forEach(c -> c.setCommandSession(session));\r
36         children.addAll(testChildren);\r
37     }\r
38 \r
39     @Override\r
40     public List<RuntimeSTSTestRunner> getChildren() {\r
41         return children;\r
42     }\r
43 \r
44     @Override\r
45     public void initialize() throws Exception {\r
46     }\r
47 \r
48     @Override\r
49     public void deinitialize() throws Exception {\r
50     }\r
51 \r
52 }\r