KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > uka > ipd > coverage > plugin > launcher > CoverageTestRunner


1 /*
2  * Created on 26.08.2004
3  *
4  * written by Matthias Kempka
5  */

6 package de.uka.ipd.coverage.plugin.launcher;
7
8 import junit.framework.Test;
9 import junit.framework.TestResult;
10 import junit.runner.TestSuiteLoader;
11 import junit.textui.TestRunner;
12 import de.uka.ipd.coverage.junit.CoverageTestResult;
13 import de.uka.ipd.coverage.utils.Logger;
14
15 /**
16  * Created on 26.08.2004
17  * @author Matthias Kempka
18  */

19 public class CoverageTestRunner extends TestRunner {
20
21     public static final int SUCCESS_EXIT= 0;
22     public static final int FAILURE_EXIT= 1;
23     public static final int EXCEPTION_EXIT= 2;
24
25     public CoverageTestRunner() {
26         super();
27     }
28     
29     protected TestResult createTestResult() {
30         return new CoverageTestResult();
31     }
32     
33     public void testEnded(String JavaDoc testName) {
34     }
35     public TestSuiteLoader getLoader() {
36         Logger.getInstance().debug("Creating testSuiteLoader"); //$NON-NLS-1$
37
return super.getLoader();
38     }
39     
40     public static void main(String JavaDoc args[]) {
41         throw new AssertionError JavaDoc("diese Klasse ist nutzlos - denke ich!"); //$NON-NLS-1$
42
// ClassLoader loader = new CoverageClassLoader();
43
// try {
44
// Class clazz = loader.loadClass(CoverageTestRunner.class.getName());
45
//// Constructor constructor = clazz.getConstructor(new Class[] {});
46
//// Object coverageTestRunner = constructor.newInstance(new Object[] {});
47
// Method method = clazz.getDeclaredMethod(
48
// "startTests", new Class[]{String[].class});
49
// Logger.getInstance().debug("method " + method.getName() + " found. Invoking");
50
// method.invoke(null, new Object[] {args});
51
// } catch (ClassNotFoundException e) {
52
// // this won't happen
53
// Logger.getInstance().fatal("Class not found "
54
// + CoverageTestRunner.class + "\n " + e.getMessage());
55
// } catch (SecurityException e) {
56
// e.printStackTrace();
57
// Logger.getInstance().fatal("Can not use classloader "
58
// + CoverageClassLoader.class + "\n " + e.getMessage());
59
// } catch (NoSuchMethodException e) {
60
// e.printStackTrace();
61
// Logger.getInstance().fatal("Method startTest(String[]) not found in "
62
// + CoverageTestRunner.class + "\n " + e.getMessage());
63
// } catch (IllegalArgumentException e) {
64
// e.printStackTrace();
65
// Logger.getInstance().fatal("Method startTest(String[]) could not be invoked "
66
// + CoverageTestRunner.class + "\n " + e.getMessage());
67
// } catch (IllegalAccessException e) {
68
// e.printStackTrace();
69
// Logger.getInstance().fatal("Method startTest(String[]) could not be invoked "
70
// + CoverageTestRunner.class + "\n " + e.getMessage());
71
// } catch (InvocationTargetException e) {
72
// e.printStackTrace();
73
// Logger.getInstance().fatal("Method startTest(String[]) could not be invoked "
74
// + CoverageTestRunner.class + "\n " + e.getMessage());
75
//// } catch (InstantiationException e) {
76
// e.printStackTrace();
77
// Logger.getInstance().fatal("Constructor could not be invoked "
78
// + CoverageTestRunner.class + "\n " + e.getMessage());
79
// }
80
}
81     
82     /**
83      * @param args
84      */

85     public static void startTests(String JavaDoc[] args) {
86         CoverageTestRunner runner = new CoverageTestRunner();
87         try {
88             TestResult r = runner.start(args);
89             if (!r.wasSuccessful())
90                 System.exit(FAILURE_EXIT);
91             System.exit(SUCCESS_EXIT);
92         } catch(Exception JavaDoc e) {
93             Logger.getInstance().error(e.getMessage());
94             System.exit(EXCEPTION_EXIT);
95         }
96     }
97
98     /* (non-Javadoc)
99      * @see junit.runner.BaseTestRunner#testStarted(java.lang.String)
100      */

101     public void testStarted(String JavaDoc testName) {
102         
103     }
104
105     /* (non-Javadoc)
106      * @see junit.runner.BaseTestRunner#testFailed(int, junit.framework.Test, java.lang.Throwable)
107      */

108     public void testFailed(int status, Test test, Throwable JavaDoc t) {
109         
110     }
111
112     /* (non-Javadoc)
113      * @see junit.runner.BaseTestRunner#runFailed(java.lang.String)
114      */

115     protected void runFailed(String JavaDoc message) {
116         
117     }
118 }
119
Popular Tags