Package: jtreg6 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu mantic ubuntu-patch X-Debbugs-Cc: vladimir.pe...@canonical.com
Dear Maintainer, This patch updates jtreg6 dependencies to allow jtreg tests to pass for openjdk-11 and -17: * Add asmtools dependency (LP: #2015011). * debian/control: Use testng 7 (LP: #2012320). * debian/jtreg6.links: Fix hamcrest.jar link (LP: #2015010). asmtools needs to be in the classpath for the number of tests to work. testng 7 is required for running the tests, the package builds with 6.9 but updated the build dependency to avoid any possible future break. hamcrest.jar is used in `test/jdk/tools/jpackage/junit/junit.java` but the Debian package uses hamcrest-core.jar in the manifest. The alternative is to patch the JDK test, but it would be a higher-maintenance decision. Thanks for considering the patch. -- System Information: Debian Release: bookworm/sid APT prefers lunar-updates APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), (100, 'lunar-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.2.0-24-generic (SMP w/32 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
diff -Nru jtreg6-6.1+2/debian/control jtreg6-6.1+2/debian/control --- jtreg6-6.1+2/debian/control 2022-07-20 21:34:07.000000000 +1200 +++ jtreg6-6.1+2/debian/control 2023-03-27 14:59:03.000000000 +1300 @@ -13,7 +13,9 @@ libjtharness-java (>= 6.0), libxalan2-java, libhamcrest-java, - testng + libtestng7-java, + libasmtools-java, + libjcommander-java Standards-Version: 4.6.0 Vcs-Git: https://salsa.debian.org/java-team/jtreg.git Vcs-Browser: https://salsa.debian.org/java-team/jtreg @@ -28,9 +30,12 @@ javahelp2, libjtharness-java (>= 6.0), libhamcrest-java, - libxalan2-java -Recommends: testng -Conflicts: jtreg + libxalan2-java, + libasmtools-java, + libjcommander-java, + libslf4j-java +Recommends: libtestng7-java +Conflicts: jtreg, jtreg7 Description: Regression Test Harness for the OpenJDK platform jtreg is the test harness used by the OpenJDK test framework. This framework is intended primarily for regression tests. diff -Nru jtreg6-6.1+2/debian/jtreg6.links jtreg6-6.1+2/debian/jtreg6.links --- jtreg6-6.1+2/debian/jtreg6.links 2020-07-15 16:28:47.000000000 +1200 +++ jtreg6-6.1+2/debian/jtreg6.links 2023-03-27 14:59:03.000000000 +1300 @@ -1,6 +1,7 @@ usr/share/jtreg/bin/jtreg /usr/bin/jtreg usr/share/jtreg/bin/jtdiff /usr/bin/jtdiff +usr/share/java/hamcrest.jar /usr/share/jtreg/lib/hamcrest.jar usr/share/java/hamcrest-core.jar /usr/share/jtreg/lib/hamcrest-core.jar usr/share/java/javatest.jar /usr/share/jtreg/lib/javatest.jar usr/share/java/jcommander.jar /usr/share/jtreg/lib/jcommander.jar @@ -8,7 +9,9 @@ usr/share/java/jtreg.jar /usr/share/jtreg/lib/jtreg.jar usr/share/java/junit4.jar /usr/share/jtreg/lib/junit.jar usr/share/java/testng.jar /usr/share/jtreg/lib/testng.jar +usr/share/java/asmtools.jar /usr/share/jtreg/lib/asmtools.jar +usr/share/java/hamcrest.jar /usr/share/jtreg/share/java/hamcrest.jar usr/share/java/hamcrest-core.jar /usr/share/jtreg/share/java/hamcrest-core.jar usr/share/java/javatest.jar /usr/share/jtreg/share/java/javatest.jar usr/share/java/jcommander.jar /usr/share/jtreg/share/java/jcommander.jar @@ -16,3 +19,4 @@ usr/share/java/jtreg.jar /usr/share/jtreg/share/java/jtreg.jar usr/share/java/junit4.jar /usr/share/jtreg/share/java/junit.jar usr/share/java/testng.jar /usr/share/jtreg/share/java/testng.jar +usr/share/java/asmtools.jar /usr/share/jtreg/share/java/asmtools.jar diff -Nru jtreg6-6.1+2/debian/patches/add-asmtools-to-classpath.patch jtreg6-6.1+2/debian/patches/add-asmtools-to-classpath.patch --- jtreg6-6.1+2/debian/patches/add-asmtools-to-classpath.patch 1970-01-01 12:00:00.000000000 +1200 +++ jtreg6-6.1+2/debian/patches/add-asmtools-to-classpath.patch 2023-03-27 14:59:03.000000000 +1300 @@ -0,0 +1,16 @@ +Description: Provide path to asmtools.jar + A number of hotspot tests use java asmtools. Provide path to asmtools.jar +Author: Vladimir Petko <vladimir.pe...@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/jtreg6/+bug/2015011 +Last-Update: 2023-04-03 +--- a/make/build.xml ++++ b/make/build.xml +@@ -144,7 +144,7 @@ + <manifest> + <attribute name="Built-By" value="${user.name}"/> + <attribute name="Main-Class" value="com.sun.javatest.regtest.Main"/> +- <attribute name="Class-Path" value="javatest.jar jh.jar junit.jar"/> ++ <attribute name="Class-Path" value="javatest.jar jh.jar junit.jar asmtools.jar"/> + <attribute name="jtreg-Name" value="jtreg"/> + <attribute name="jtreg-Version" value="${build.version}"/> + <attribute name="jtreg-Milestone" value="${build.milestone}"/> diff -Nru jtreg6-6.1+2/debian/patches/add-logger-to-classpath.patch jtreg6-6.1+2/debian/patches/add-logger-to-classpath.patch --- jtreg6-6.1+2/debian/patches/add-logger-to-classpath.patch 1970-01-01 12:00:00.000000000 +1200 +++ jtreg6-6.1+2/debian/patches/add-logger-to-classpath.patch 2023-03-27 14:59:03.000000000 +1300 @@ -0,0 +1,55 @@ +Description: Add sl4j to the classpath in line with jcommander patch + Some jtreg tests are failing due to the missing slf4j (dependency of testng7). + Add slf4j to the classpath in line with the jcommander patch. +Author: Vladimir Petko <vladimir.pe...@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/jtreg6/+bug/2012320 +Last-Update: 2023-03-31 +--- a/src/share/classes/com/sun/javatest/regtest/exec/MainAction.java ++++ b/src/share/classes/com/sun/javatest/regtest/exec/MainAction.java +@@ -576,6 +576,8 @@ + .append(script.getJUnitPath()) + .append(script.getTestNGPath()) + .append(new SearchPath("/usr/share/java/jcommander.jar")) ++ .append(new SearchPath("/usr/share/java/slf4j-simple.jar")) ++ .append(new SearchPath("/usr/share/java/slf4j-api.jar")) + .asList(); + + Version v = script.getRequiredVersion(); +--- a/src/share/classes/com/sun/javatest/regtest/exec/RegressionScript.java ++++ b/src/share/classes/com/sun/javatest/regtest/exec/RegressionScript.java +@@ -820,6 +820,8 @@ + if (needTestNG) { + install(params.getTestNGPath(), md); + install(new SearchPath("/usr/share/java/jcommander.jar"), md); ++ install(new SearchPath("/usr/share/java/slf4j-simple.jar"), md); ++ install(new SearchPath("/usr/share/java/slf4j-api.jar"), md); + } + mp.append(md); + } +@@ -830,6 +832,8 @@ + if (needTestNG) { + cp.append(params.getTestNGPath()); + cp.append(new SearchPath("/usr/share/java/jcommander.jar")); ++ cp.append(new SearchPath("/usr/share/java/slf4j-simple.jar")); ++ cp.append(new SearchPath("/usr/share/java/slf4j-api.jar")); + } + } + +@@ -925,6 +929,8 @@ + if (needTestNG) { + install(params.getTestNGPath(), md); + install(new SearchPath("/usr/share/java/jcommander.jar"), md); ++ install(new SearchPath("/usr/share/java/slf4j-simple.jar"), md); ++ install(new SearchPath("/usr/share/java/slf4j-api.jar"), md); + } + mp.append(md); + } +@@ -936,6 +942,8 @@ + if (needTestNG) { + fp.append(params.getTestNGPath()); + fp.append(new SearchPath("/usr/share/java/jcommander.jar")); ++ fp.append(new SearchPath("/usr/share/java/slf4j-simple.jar")); ++ fp.append(new SearchPath("/usr/share/java/slf4j-api.jar")); + } + } + diff -Nru jtreg6-6.1+2/debian/patches/series jtreg6-6.1+2/debian/patches/series --- jtreg6-6.1+2/debian/patches/series 2020-07-15 16:28:47.000000000 +1200 +++ jtreg6-6.1+2/debian/patches/series 2023-03-27 14:59:03.000000000 +1300 @@ -1,3 +1,5 @@ launchers.patch add-jcommander-to-classpath.patch use-release-instead-of-source-target.patch +add-asmtools-to-classpath.patch +add-logger-to-classpath.patch diff -Nru jtreg6-6.1+2/debian/rules jtreg6-6.1+2/debian/rules --- jtreg6-6.1+2/debian/rules 2022-07-20 22:40:06.000000000 +1200 +++ jtreg6-6.1+2/debian/rules 2023-03-27 14:59:03.000000000 +1300 @@ -19,6 +19,7 @@ -Djunit.jar=/usr/share/java/junit4.jar \ -Dtestng.jar=/usr/share/java/testng.jar \ -Djavatest.jar=/usr/share/java/javatest.jar \ + -Dasmtools.jar=/usr/share/java/asmtools.jar \ -Dbuild.date.time='$(DATE)' \ -Dbuild.version=$(VERSION) \ -Dbuild.milestone=src \