Bug#1041282: jtreg6: Please add jtreg6 depenedencies to allow openjdk -11, -17 jtreg tests to pass

Vladimir Petko vladimir.petko at canonical.com
Sun Jul 16 23:08:05 BST 2023


Package: jtreg6
Severity: wishlist
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch
X-Debbugs-Cc: vladimir.petko at 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
-------------- next part --------------
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.petko at 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.petko at 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 \


More information about the pkg-java-maintainers mailing list