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 rh...@apache.org on 2020/10/26 22:27:14 UTC
svn commit: r1882894 -
/db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java
Author: rhillegas
Date: Mon Oct 26 22:27:14 2020
New Revision: 1882894
URL: http://svn.apache.org/viewvc?rev=1882894&view=rev
Log:
DERBY-7088: Make it possible to run tests against early access releases of the Open JDK; commit derby-7088-01-aa-runTestsOnJDK16EA.diff.
Modified:
db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java
Modified: db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java?rev=1882894&r1=1882893&r2=1882894&view=diff
==============================================================================
--- db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java (original)
+++ db/derby/code/trunk/java/org.apache.derby.tests/org/apache/derbyTesting/functionTests/harness/JavaVersionHolder.java Mon Oct 26 22:27:14 2020
@@ -29,6 +29,7 @@ import java.util.StringTokenizer;
*/
public class JavaVersionHolder
{
+ private static final String EARLY_ACCESS_SUFFIX = "-ea";
private String majorVersion;
private String minorVersion;
@@ -38,6 +39,11 @@ public class JavaVersionHolder
public JavaVersionHolder(String javaVersion)
throws java.lang.NumberFormatException
{
+ //System.out.println("JavaVersionHolder() javaVersion = " + javaVersion);
+
+ // remove Open JDK early access indicator
+ javaVersion = stripEarlyAccessSuffix(javaVersion);
+
// handle early access versions of JDK 9
if (javaVersion.startsWith( "9" ))
{
@@ -50,7 +56,8 @@ public class JavaVersionHolder
javaVersion = "1.11.0";
}
- // handle future java versions
+ // handle future java versions.
+ // rewrite version into the form 1.$javaVersion.0
switch(javaVersion)
{
case "10":
@@ -133,6 +140,25 @@ public class JavaVersionHolder
}
}
+ /**
+ * Remove the Open JDK early access suffix from a version string so
+ * that we can run tests against early access versions of the JDK
+ * and identify JDK regressions early on.
+ *
+ * @param javaVersion The original version string
+ *
+ * @return the version string after stripping off the suffix
+ */
+ private String stripEarlyAccessSuffix(String javaVersion)
+ {
+ int suffixIndex = javaVersion.indexOf(EARLY_ACCESS_SUFFIX);
+
+ // nothing to do if this isn't an early access version
+ if (suffixIndex < 0) { return javaVersion; }
+
+ return javaVersion.substring(0, suffixIndex);
+ }
+
public String getMajorVersion()
{
return majorVersion;