From f1eba171ddd887a2daa3dfa2ac90ac864c5b22d4 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Fri, 27 Mar 2015 15:45:47 +0100 Subject: TestVersionSemantics: Add version tests: v220 -> v221, v221 -> v230 and v230 -> v23x --- make/lib/v2.2.1/gluegen-rt.jar | Bin 0 -> 287455 bytes make/lib/v2.3.0/gluegen-rt.jar | Bin 0 -> 325890 bytes make/scripts/runtest.sh | 4 +- .../jogamp/common/util/TestVersionSemantics.java | 41 +++++++++++++++++---- 4 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 make/lib/v2.2.1/gluegen-rt.jar create mode 100644 make/lib/v2.3.0/gluegen-rt.jar diff --git a/make/lib/v2.2.1/gluegen-rt.jar b/make/lib/v2.2.1/gluegen-rt.jar new file mode 100644 index 0000000..61c5da1 Binary files /dev/null and b/make/lib/v2.2.1/gluegen-rt.jar differ diff --git a/make/lib/v2.3.0/gluegen-rt.jar b/make/lib/v2.3.0/gluegen-rt.jar new file mode 100644 index 0000000..ed9bacb Binary files /dev/null and b/make/lib/v2.3.0/gluegen-rt.jar differ diff --git a/make/scripts/runtest.sh b/make/scripts/runtest.sh index 739caa9..b93eef1 100755 --- a/make/scripts/runtest.sh +++ b/make/scripts/runtest.sh @@ -90,7 +90,7 @@ function onetest() { #onetest com.jogamp.common.util.TestSystemPropsAndEnvs 2>&1 | tee -a $LOG #onetest com.jogamp.common.util.TestVersionInfo 2>&1 | tee -a $LOG #onetest com.jogamp.common.util.TestVersionNumber 2>&1 | tee -a $LOG -#onetest com.jogamp.common.util.TestVersionSemantics 2>&1 | tee -a $LOG +onetest com.jogamp.common.util.TestVersionSemantics 2>&1 | tee -a $LOG #onetest com.jogamp.common.util.TestIteratorIndexCORE 2>&1 | tee -a $LOG #onetest com.jogamp.common.util.locks.TestRecursiveLock01 2>&1 | tee -a $LOG #onetest com.jogamp.common.util.locks.TestRecursiveThreadGroupLock01 2>&1 | tee -a $LOG @@ -135,7 +135,7 @@ function onetest() { #onetest com.jogamp.gluegen.test.junit.internals.TestType 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.test.junit.generation.PCPPTest 2>&1 | tee -a $LOG -onetest com.jogamp.gluegen.jcpp.IncludeAbsoluteTest 2>&1 | tee -a $LOG +#onetest com.jogamp.gluegen.jcpp.IncludeAbsoluteTest 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.jcpp.CppReaderTest 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.jcpp.TokenPastingWhitespaceTest 2>&1 | tee -a $LOG #onetest com.jogamp.gluegen.jcpp.PreprocessorTest 2>&1 | tee -a $LOG diff --git a/src/junit/com/jogamp/common/util/TestVersionSemantics.java b/src/junit/com/jogamp/common/util/TestVersionSemantics.java index 6faa9a6..4fe4bcd 100644 --- a/src/junit/com/jogamp/common/util/TestVersionSemantics.java +++ b/src/junit/com/jogamp/common/util/TestVersionSemantics.java @@ -66,9 +66,6 @@ import com.jogamp.junit.util.VersionSemanticsUtil; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class TestVersionSemantics extends SingletonJunitCase { static final String jarFile = "gluegen-rt.jar"; - static final VersionNumberString preVersionNumber = new VersionNumberString("2.2.0"); - static final Delta.CompatibilityType expectedCompatibilityType = Delta.CompatibilityType.NON_BACKWARD_COMPATIBLE; - // static final Delta.CompatibilityType expectedCompatibilityType = Delta.CompatibilityType.BACKWARD_COMPATIBLE_USER; static final DiffCriteria diffCriteria = new SimpleDiffCriteria(); // static final DiffCriteria diffCriteria = new PublicDiffCriteria(); @@ -76,22 +73,50 @@ public class TestVersionSemantics extends SingletonJunitCase { static final JogampVersion curVersion = GlueGenVersion.getInstance(); static final VersionNumberString curVersionNumber = new VersionNumberString(curVersion.getImplementationVersion()); - static final Set excludes; + static final Set excludesDefault; static { - excludes = new HashSet(); - excludes.add("^\\Qjogamp/\\E.*$"); + excludesDefault = new HashSet(); + excludesDefault.add("^\\Qjogamp/\\E.*$"); } @Test - public void testVersionLatest() throws IllegalArgumentException, IOException, URISyntaxException { + public void testVersionV220V221() throws IllegalArgumentException, IOException, URISyntaxException { + testVersions(diffCriteria, Delta.CompatibilityType.BACKWARD_COMPATIBLE_USER, "2.2.0", "2.2.1", excludesDefault); + } + + @Test + public void testVersionV221V230() throws IllegalArgumentException, IOException, URISyntaxException { + testVersions(diffCriteria, Delta.CompatibilityType.NON_BACKWARD_COMPATIBLE, "2.2.1", "2.3.0", excludesDefault); + } + + void testVersions(final DiffCriteria diffCriteria, final Delta.CompatibilityType expectedCompatibilityType, + final String v1, final String v2, final Set excludes) + throws IllegalArgumentException, IOException, URISyntaxException { + final VersionNumberString preVersionNumber = new VersionNumberString(v1); + final File previousJar = new File("lib/v"+v1+"/"+jarFile); + + final VersionNumberString curVersionNumber = new VersionNumberString(v2); + final File currentJar = new File("lib/v"+v2+"/"+jarFile); + + VersionSemanticsUtil.testVersion(diffCriteria, expectedCompatibilityType, + previousJar, preVersionNumber, + currentJar, curVersionNumber, + excludes); + } + + @Test + public void testVersionV230V23x() throws IllegalArgumentException, IOException, URISyntaxException { + // final Delta.CompatibilityType expectedCompatibilityType = Delta.CompatibilityType.NON_BACKWARD_COMPATIBLE; + final Delta.CompatibilityType expectedCompatibilityType = Delta.CompatibilityType.BACKWARD_COMPATIBLE_USER; + final VersionNumberString preVersionNumber = new VersionNumberString("2.3.0"); final File previousJar = new File("lib/v"+preVersionNumber.getVersionString()+"/"+jarFile); final ClassLoader currentCL = TestVersionSemantics.class.getClassLoader(); VersionSemanticsUtil.testVersion(diffCriteria, expectedCompatibilityType, previousJar, preVersionNumber, - curVersion.getClass(), currentCL, curVersionNumber, excludes); + curVersion.getClass(), currentCL, curVersionNumber, excludesDefault); } public static void main(final String args[]) throws IOException { -- cgit v1.2.3