You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by km...@apache.org on 2012/06/29 23:38:13 UTC
svn commit: r1355569 -
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java
Author: kmarsden
Date: Fri Jun 29 21:38:12 2012
New Revision: 1355569
URL: http://svn.apache.org/viewvc?rev=1355569&view=rev
Log:
DERBY-1914 test lang/wisconsin gives garbage output on zOS
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java?rev=1355569&r1=1355568&r2=1355569&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/wisconsin.java Fri Jun 29 21:38:12 2012
@@ -23,6 +23,11 @@ package org.apache.derbyTesting.function
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@@ -31,8 +36,10 @@ import java.sql.Statement;
import org.apache.derby.impl.tools.ij.utilMain;
import org.apache.derby.tools.ij;
+
public class wisconsin {
+
public static void main(String[] args) throws Throwable{
ij.getPropertyArg(args);
Connection conn = ij.startJBMS();
@@ -43,22 +50,21 @@ public class wisconsin {
createTables(conn, true);
BufferedInputStream inStream;
-
- // set input stream
- String filePath = "wisc_setup.sql";
+ String resource = "org/apache/derbyTesting/functionTests/tests/" +
+ "lang/wisc_setup.sql";
+ // set input stream
+ URL sql = getTestResource(resource);
+ InputStream sqlIn = openTestResource(sql);
+ if (sqlIn == null ) {
+ throw new Exception("SQL Resource missing:" +
+ resource);
+ }
- try
- {
- inStream = new BufferedInputStream(new FileInputStream(filePath),
- utilMain.BUFFEREDFILESIZE);
- } catch (FileNotFoundException e)
- {
- System.out.println("unable to find input file "+filePath);
- throw e;
- }
+ inStream = new BufferedInputStream(sqlIn,
+ utilMain.BUFFEREDFILESIZE);
ij.runScript(conn, inStream, "US-ASCII",
- System.out, (String) null);
+ System.out, (String) null );
conn.commit();
}
@@ -204,4 +210,47 @@ public class wisconsin {
conn.commit();
}
+
+ /**
+ * Open the URL for a a test resource, e.g. a policy
+ * file or a SQL script.
+ * @param url URL obtained from getTestResource
+ * @return An open stream
+ */
+ protected static InputStream openTestResource(final URL url)
+ throws PrivilegedActionException
+ {
+ return (InputStream)AccessController.doPrivileged
+ (new java.security.PrivilegedExceptionAction(){
+
+ public Object run() throws IOException{
+ return url.openStream();
+
+ }
+
+ }
+ );
+ }
+
+ /**
+ * Obtain the URL for a test resource, e.g. a policy
+ * file or a SQL script.
+ * @param name Resource name, typically - org.apache.derbyTesing.something
+ * @return URL to the resource, null if it does not exist.
+ */
+ protected static URL getTestResource(final String name)
+ {
+
+ return (URL)AccessController.doPrivileged
+ (new java.security.PrivilegedAction(){
+
+ public Object run(){
+ return this.getClass().getClassLoader().
+ getResource(name);
+
+ }
+
+ }
+ );
+ }
}