This project has retired. For details please refer to its
Attic page.
JUnitHelper xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.chemistry.opencmis.tck.impl;
20
21 import java.io.File;
22 import java.io.PrintWriter;
23
24 import org.apache.chemistry.opencmis.tck.CmisTest;
25 import org.apache.chemistry.opencmis.tck.CmisTestGroup;
26 import org.apache.chemistry.opencmis.tck.CmisTestProgressMonitor;
27 import org.apache.chemistry.opencmis.tck.CmisTestReport;
28 import org.apache.chemistry.opencmis.tck.CmisTestResult;
29 import org.apache.chemistry.opencmis.tck.CmisTestResultStatus;
30 import org.apache.chemistry.opencmis.tck.report.TextReport;
31 import org.apache.chemistry.opencmis.tck.runner.AbstractRunner;
32 import org.junit.Assert;
33
34 public class JUnitHelper {
35
36 public static final String JUNIT_PARAMETERS = "org.apache.chemistry.opencmis.tck.junit.parameters";
37
38 private JUnitHelper() {
39 }
40
41 public static void run(CmisTest test) {
42 try {
43 run(new WrapperCmisTestGroup(test));
44 } catch (Exception e) {
45 Assert.fail(e.getMessage());
46 }
47 }
48
49 public static void run(CmisTestGroup group) {
50 try {
51 JUnitRunner runner = new JUnitRunner();
52
53 String parametersFile = System.getProperty(JUNIT_PARAMETERS);
54 if (parametersFile == null) {
55 runner.setParameters(null);
56 } else {
57 runner.loadParameters(new File(parametersFile));
58 }
59
60 runner.addGroup(group);
61 runner.run(new JUnitProgressMonitor());
62
63 CmisTestReport report = new TextReport();
64 report.createReport(runner.getParameters(), runner.getGroups(), new PrintWriter(System.out));
65
66 checkForFailures(runner);
67 } catch (Exception e) {
68 Assert.fail(e.getMessage());
69 }
70 }
71
72 private static void checkForFailures(JUnitRunner runner) {
73 for (CmisTestGroup group : runner.getGroups()) {
74 for (CmisTest test : group.getTests()) {
75 for (CmisTestResult result : test.getResults()) {
76 if (result.getStatus().getLevel() >= CmisTestResultStatus.FAILURE.getLevel()) {
77 Assert.fail(result.getMessage());
78 }
79 }
80 }
81 }
82 }
83
84 private static class JUnitRunner extends AbstractRunner {
85 }
86
87 private static class JUnitProgressMonitor implements CmisTestProgressMonitor {
88 public void startGroup(CmisTestGroup group) {
89 System.out.println(group.getName() + " (" + group.getTests().size() + " tests)");
90 }
91
92 public void endGroup(CmisTestGroup group) {
93 }
94
95 public void startTest(CmisTest test) {
96 System.out.println(" " + test.getName());
97 }
98
99 public void endTest(CmisTest test) {
100 }
101
102 public void message(String msg) {
103 System.out.println(msg);
104 }
105 }
106 }