+
+ try {
+ initialize0();
+ Collection<ModelledSTSSuite> suites = STSSuiteTestCollector.collectTests();
+
+ // Filter exclusions
+ String exclusionFilter = System.getProperty(EXCLUSION_FILTER);
+ Collection<ModelledSTSSuite> filtered;
+ if (exclusionFilter != null) {
+ String[] filters = exclusionFilter.split(",");
+ filtered = suites.stream().filter(s -> !startsWithAny(s, filters)).collect(Collectors.toList());
+ } else {
+ filtered = suites;
+ }
+ // Filter inclusions
+// String inclusionFilter = System.getProperty(INCLUSION_FILTER);
+// Collection<ModelledSTSSuite> included;
+// if (inclusionFilter != null) {
+// String[] filters = inclusionFilter.split(",");
+// included = filtered.stream().filter(s -> startsWithAny(s, filters)).collect(Collectors.toList());
+// } else {
+// included = filtered;
+// }
+
+ // Sort by priority
+// List<ModelledSTSSuite> sorted = included.stream().sorted((o1, o2) -> Integer.compare(o1.getPriority(), o2.getPriority())).collect(Collectors.toList());
+ List<ModelledSTSSuite> sorted = filtered.stream().sorted((o1, o2) -> Integer.compare(o1.getPriority(), o2.getPriority())).collect(Collectors.toList());
+
+
+ children = new ArrayList<>(sorted.size());
+ for (ModelledSTSSuite suite : sorted) {
+ children.add(new ModelledSTSSuiteRunner(suite));
+ }
+ } catch (Exception e) {
+ throw new InitializationError(e);
+ }
+ }
+
+ private static boolean startsWithAny(ModelledSTSSuite suite, String[] filters) {
+ for (String filter : filters) {
+ if (suite.getName().contains(filter)) {
+ return true;
+ }
+ }
+ return false;