Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 70180 invoked from network); 3 Mar 2005 14:30:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 3 Mar 2005 14:30:45 -0000 Received: (qmail 46320 invoked by uid 500); 3 Mar 2005 14:30:43 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 46286 invoked by uid 500); 3 Mar 2005 14:30:43 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 46272 invoked by uid 99); 3 Mar 2005 14:30:43 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (hermes.apache.org: local policy) Received: from e31.co.us.ibm.com (HELO e31.co.us.ibm.com) (32.97.110.129) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 03 Mar 2005 06:30:42 -0800 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e31.co.us.ibm.com (8.12.10/8.12.9) with ESMTP id j23EUeua361046 for ; Thu, 3 Mar 2005 09:30:40 -0500 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay04.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id j23EUeRH143186 for ; Thu, 3 Mar 2005 07:30:40 -0700 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j23EUeoo017643 for ; Thu, 3 Mar 2005 07:30:40 -0700 Received: from [127.0.0.1] (sig-9-48-123-84.mts.ibm.com [9.48.123.84]) by d03av04.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j23EUd59017597 for ; Thu, 3 Mar 2005 07:30:40 -0700 Message-ID: <42262499.1030004@debrunners.com> Date: Wed, 02 Mar 2005 12:39:53 -0800 From: Daniel John Debrunner User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Derby Development Subject: Re: JUnit References: <4225E56C.1040403@apache.org> <422605A7.6020207@debrunners.com> In-Reply-To: <422605A7.6020207@debrunners.com> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: multipart/mixed; boundary="------------000207000401050308040009" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------000207000401050308040009 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Daniel John Debrunner wrote: > I have to leave for a flight back to the West coast now, once I'm back > on-line I'll see if I can find my test code. Attached. ijRunner.java Dan. --------------000207000401050308040009 Content-Type: text/plain; name="ijRunner.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ijRunner.java" /* * Created on Feb 19, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package org.apache.derbyTesting.functionTests.util; import junit.framework.*; import java.io.*; import java.sql.*; /** * org.apache.derbyTesting.functionTests.util.ijRunner * @author djd * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class ijRunner extends TestCase { public static Test suite() { TestSuite suite = new TestSuite(); //suite.addTest(new ijRunner("schemas")); suite.addTest(new ijRunner("union")); //suite.addTest(new ijRunner("insert")); //suite.addTest(new ijRunner("altertable")); suite.addTest(new ijRunner("arithmetic")); //suite.addTest(new ijRunner("authorize")); //suite.addTest(new ijRunner("autoincrement")); //suite.addTest(new ijRunner("bit")); suite.addTest(new ijRunner("bit2")); suite.addTest(new ijRunner("case")); //suite.addTest(new ijRunner("cast")); //suite.addTest(new ijRunner("checkConstraint")); return suite; } private final String ijResource; public ijRunner(String ijResource) { super(ijResource); this.ijResource = ijResource; } private static ijRunner first; protected void setUp() { if (first == null) first = this; System.out.println("SETUP! " + (this == first)); System.setProperty("ij.driver", "org.apache.derby.jdbc.EmbeddedDriver"); if (first == this) System.setProperty("ij.database", "jdbc:derby:wombat;create=true"); else System.setProperty("ij.database", "jdbc:derby:wombat"); System.setProperty("ij.showNoConnectionsAtStart", "true"); System.setProperty("ij.showNoCountForSelect", "true"); } protected void tearDown() throws Exception { try { DriverManager.getConnection("jdbc:derby:;shutdown=true"); } catch (SQLException sqle) { } new File("wombat").delete(); } public void runTest() throws Throwable { System.out.println("START " + ijResource); String resource = "/org/apache/derbyTesting/functionTests/tests/lang/" + ijResource + ".sql"; String canon = "/org/apache/derbyTesting/functionTests/master/" + ijResource + ".out"; PrintStream originalOut = System.out; ByteArrayOutputStream rawBytes; try { rawBytes = new ByteArrayOutputStream(20 * 1024); PrintStream printOut = new PrintStream(rawBytes); System.setOut(printOut); org.apache.derby.tools.ij.main(new String[] {"-fr", resource}); printOut.flush(); assertEquals(ijResource, ijResource); // System.out.println("PASSED!"); } finally { System.setOut(originalOut); } byte[] testRawBytes = rawBytes.toByteArray(); try { InputStream canonStream = getClass().getResourceAsStream(canon); assertNotNull("No master file " + canon, canonStream); BufferedReader cannonReader = new BufferedReader(new InputStreamReader(canonStream)); BufferedReader testOutput = new BufferedReader(new InputStreamReader( new ByteArrayInputStream(testRawBytes))); testOutput.readLine(); for (int lineNumber = 1; ; lineNumber++) { String testLine = testOutput.readLine(); if ("".equals(testLine)) continue; String canonLine = cannonReader.readLine(); if (canonLine == null && testLine == null) break; if (canonLine == null) fail("More output from test than expected"); if (testLine == null) fail("Less output from test than expected"); // System.out.println(testLine); assertEquals("Output at line " + lineNumber, canonLine, testLine); } cannonReader.close(); } catch (Throwable t) { FileOutputStream outFile = new FileOutputStream(ijResource + ".out"); outFile.write(testRawBytes); outFile.flush(); outFile.close(); throw t; } System.out.println("PASS " + ijResource); } } --------------000207000401050308040009--