Java cvprof Coverage Report for
TextRunnerTest.java

    1   package junit.tests.runner;
    2   
    3   import java.io.File;
    4   import java.io.IOException;
    5   import java.io.InputStream;
    6   import java.io.OutputStream;
    7   import java.io.PrintStream;
    8   
    9   import junit.framework.TestCase;
   10   import junit.framework.TestResult;
   11   import junit.framework.TestSuite;
   12   
   13   public class TextRunnerTest extends TestCase {
   14   	
   15   	public void testFailure() throws Exception {
   16   		execTest("junit.tests.framework.Failure", false);
   17   	}
   18   
   19   	public void testSuccess() throws Exception {
   20   		execTest("junit.tests.framework.Success", true);
   21 > 	}
   22   
   23   	public void testError() throws Exception {
   24   		execTest("junit.tests.BogusDude", false);
   25   	}
   26   	
   27   	void execTest(String testClass, boolean success) throws Exception {
   28   		String java= System.getProperty("java.home")+File.separator+"bin"+File.separator+"java";
   29   		String cp= System.getProperty("java.class.path");
   30   		//use -classpath for JDK 1.1.7 compatibility
   31   		String [] cmd= { java, "-classpath", cp, "junit.textui.TestRunner", testClass}; 
   32   		Process p= Runtime.getRuntime().exec(cmd);
   33   		InputStream i= p.getInputStream();
   34   		int b;
   35   		while((b= i.read()) != -1) 
   36   			; //System.out.write(b); 
   37   		assertTrue((p.waitFor() == 0) == success);
   38   		if (success)
   39 > 			assertEquals(junit.textui.TestRunner.SUCCESS_EXIT, p.exitValue());
   40   		else
   41   			assertEquals(junit.textui.TestRunner.FAILURE_EXIT, p.exitValue());
   42   	}
   43   	
   44   	public void testRunReturnsResult() {
   45   		PrintStream oldOut= System.out;
   46   		System.setOut(new PrintStream (
   47   			new OutputStream() {
   48   				public void write(int arg0) throws IOException {
   49   				}
   50   			}
   51   		));
   52   		try {
   53   			TestResult result= junit.textui.TestRunner.run(new TestSuite());
   54   			assertTrue(result.wasSuccessful());
   55   		} finally {
   56   			System.setOut(oldOut);
   57   		}
   58   	}
   59   		
   60   
   61   }