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 my...@apache.org on 2014/06/18 20:05:26 UTC
svn commit: r1603557 -
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java
Author: myrnavl
Date: Wed Jun 18 18:05:25 2014
New Revision: 1603557
URL: http://svn.apache.org/r1603557
Log:
DERBY-4808; write a test that checks that optional packages are in place and clearly exposes when this is not the case
Adding some more checks to the EnvTest, plus modifying output mechanism
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java?rev=1603557&r1=1603556&r2=1603557&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/EnvTest.java Wed Jun 18 18:05:25 2014
@@ -19,6 +19,15 @@
*/
package org.apache.derbyTesting.junit;
+import java.io.PrintStream;
+import java.security.AccessController;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivilegedAction;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
import junit.framework.TestCase;
/**
@@ -36,41 +45,143 @@ public class EnvTest extends TestCase {
{
super(name);
}
+
+ /**
+ * Print trace string.
+ * @param text String to print
+ */
+ public void traceit(final String text) {
+ setName(text);
+ PrintStream out = System.out;
+ String KEY_TRACE = "derby.tests.trace";
+ if (Boolean.valueOf(
+ getSystemProperties().getProperty(KEY_TRACE)).
+ booleanValue())
+ {
+ out.println(text);
+ }
+ }
+
+ /**
+ * Get the system properties in a privileged block.
+ *
+ * @return the system properties.
+ */
+ public static final Properties getSystemProperties() {
+ // Fetch system properties in a privileged block.
+ return AccessController.doPrivileged(
+ new PrivilegedAction<Properties>() {
+ public Properties run() {
+ return System.getProperties();
+ }
+ });
+ }
/*
** Tests of the JDBC.vmSupportsXXX to see which JDBC support is available.
*/
public void testJSR169() {
- setName(JDBC.vmSupportsJSR169() + "_vmSupportsJSR169()");
+ traceit(String.valueOf(JDBC.vmSupportsJSR169()) +
+ "_vmSupportsJSR169()");
}
public void testJDBC3() {
- setName(JDBC.vmSupportsJDBC3() + "_vmSupportsJDBC3()");
- }
- public void testJDBC4() {
- setName(JDBC.vmSupportsJDBC4() + "_vmSupportsJDBC4()");
+ traceit(String.valueOf(JDBC.vmSupportsJDBC3()) +
+ "_vmSupportsJDBC3()");
}
+ public void testJDBC4() {
+ traceit(String.valueOf(JDBC.vmSupportsJDBC4()) +
+ "_vmSupportsJDBC4()");
+ }
+ public void testJDBC41() {
+ traceit(String.valueOf(JDBC.vmSupportsJDBC41()) +
+ "_vmSupportsJDBC41()");
+ }
+ public void testJDBC42() {
+ traceit(String.valueOf(JDBC.vmSupportsJDBC42()) +
+ "_vmSupportsJDBC42()");
+ }
+
+
/*
** Tests of the Derby.hasXXX to see which Derby code is
** available for the tests.
*/
public void testHasServer() {
- setName(Derby.hasServer() + "_hasServer");
+ traceit(String.valueOf(Derby.hasServer() + "_hasServer"));
}
public void testHasClient() {
- setName(Derby.hasClient() + "_hasClient");
+ traceit(String.valueOf(Derby.hasClient() + "_hasClient"));
}
public void testHasEmbedded() {
- setName(Derby.hasEmbedded() + "_hasEmbedded");
+ traceit(String.valueOf(Derby.hasEmbedded() + "_hasEmbedded"));
}
public void testHasTools() {
- setName(Derby.hasTools() + "_hasTools");
+ traceit(String.valueOf(Derby.hasTools() + "_hasTools"));
}
/*
** XML related tests
*/
public void testClasspathHasXalanAndJAXP() {
- setName(XML.classpathHasJAXP() + "_classpathHasJAXP");
+ traceit(String.valueOf(XML.classpathHasJAXP() + "_classpathHasJAXP"));
}
public void testClasspathMeetsXMLReqs() {
- setName(XML.classpathMeetsXMLReqs() + "_classpathMeetsXMLReqs");
+ traceit(String.valueOf(XML.classpathMeetsXMLReqs() +
+ "_classpathMeetsXMLReqs"));
+ }
+ public void testHasLuceneCoreJar() {
+ traceit(String.valueOf(JDBC.HAVE_LUCENE_CORE + "_hasLuceneCore"));
+ }
+ public void testHasLuceneQueryParserJar() {
+ traceit(String.valueOf(JDBC.HAVE_LUCENE_QUERYPARSER +
+ "_hasLuceneQueryParser"));
+ }
+ public void testHasLuceneAnalyzersJar() {
+ traceit(String.valueOf(JDBC.HAVE_LUCENE_ANALYZERS +
+ "_hasLuceneAnalyzers"));
+ }
+
+ public void testHasLDAPConfig() {
+ // we need a bunch of properties for ldap testing
+ Properties props = getSystemProperties();
+ List<String> ldapSettings = new ArrayList<String>();
+ ldapSettings.add(props.getProperty("derbyTesting.ldapPassword"));
+ ldapSettings.add(props.getProperty("derbyTesting.ldapServer"));
+ ldapSettings.add(props.getProperty("derbyTesting.ldapPort"));
+ ldapSettings.add(props.getProperty("derbyTesting.dnString"));
+ ldapSettings.add(props.getProperty("derbyTesting.ldapContextFactory"));
+ boolean sofarsogood=true;
+ for (String s:ldapSettings) {
+ if (s == null || s.length()== 0 || s.isEmpty())
+ {
+ sofarsogood=false;
+ break;
+ }
+ }
+ traceit(String.valueOf(sofarsogood) + "_hasLDAPConfiguration");
+ }
+
+ public void testHasJNDISupport() {
+ traceit(String.valueOf(JDBC.vmSupportsJNDI() +
+ "_classpathMeetsJNDIReqs"));
+ }
+
+ public void testHasBasicEncryptionSupport() {
+ try {
+ // First check for the preferred default, and return it if present
+ MessageDigest.getInstance("SHA-256");
+ traceit("true_hasBasicEncryptionAlgorithmSupport");
+ } catch (NoSuchAlgorithmException nsae) {
+ // Couldn't find the preferred algorithm
+ traceit("false_hasBasicEncryptionAlgorithmSupport");
+ }
+ }
+
+ public void testHasSubStandardEncryptionSupport() {
+ try {
+ // First check for the preferred default, and return it if present
+ MessageDigest.getInstance("SHA-1");
+ traceit("true_hasSubstandardEncryptionAlgorithmSupport");
+ } catch (NoSuchAlgorithmException nsae) {
+ traceit("false_hasSubStandardEncryptionAlgorithmSupport");
+ }
}
}