Status of jtreg build
Martin Buchholz
martinrb at google.com
Wed Apr 13 15:26:01 UTC 2016
Maven likes to have as many jar files as possible, so jcommander and
testng are separated.
But jtreg thinks testng.jar should contain jcommander, so I ended up
having to build testng-jar-all
(jtreg should probably switch to maven's view of the world and take
jcommander as another dependency)
Hacky build script snippet:
# --- testng ---
# Build "fat" testng.jar (incorporating jcommander) from source.
# No one seems to distribute such fat testng jars anymore.
rm -rf testng testng-*
wget -qOtestng.zip https://github.com/cbeust/testng/archive/testng-6.8.5.zip
unzip -q testng.zip
rm testng.zip
mv testng-* testng
(
export JAVA_HOME="$HOME/jdk/jdk6"
export PATH=$JAVA_HOME/bin:$PATH
cd testng &&
mkdir -p ~/.ant/lib &&
cp ivy-2.1.0.jar ~/.ant/lib/. &&
ant clean compile copy-resources testng-jar-all &&
rm ~/.ant/lib/ivy-2.1.0.jar
)
TESTNG_HOME="$ROOT/testng"
TESTNG_JAR=$(find "$ROOT/testng/target/" -name "testng*jar")
On Tue, Apr 12, 2016 at 11:53 PM, Volker Simonis
<volker.simonis at gmail.com> wrote:
>
>
> On Tue, Apr 12, 2016 at 11:28 PM, Martin Buchholz <martinrb at google.com>
> wrote:
>>
>> jtreg build on
>> https://adopt-openjdk.ci.cloudbees.com/
>> is broken, as is its dependency asmtools
>> The jtreg-4.2 build they advertise was created before there was any 4.2
>> tag.
>> They seem to be missing testng as a dependency.
>> The project does keep trying (and failing) to build, however.
>>
>> I tried and failed to find on the Net the "full" testng-6.8.zip that
>> used to be distributed on testng.org.
>>
>
> That seems true, but I think all you needed from the "full" testng-6.8.zip
> was the LICENSE file. See jtreg/make/jtreg.gmk
>
> $(JTREG_IMAGEDIR)/legal/testng/LICENSE.txt: $(call
> PosixPath,$(TESTNG_HOME)/LICENSE.txt)
> $(MKDIR) -p $(@D)
> $(CAT) $(TESTNG_HOME)/LICENSE.txt >> $@
>
> The testng jar file is specified by TESTNG_JAR anyway. So I think you can
> download the jar from
>
> http://mvnrepository.com/artifact/org.testng/testng/6.8 or
> http://mvnrepository.com/artifact/org.testng/testng/6.8.5
>
> because http://openjdk.java.net/jtreg/build.html now recommends 6.8.5 and
> get the license file from:
>
> https://github.com/cbeust/testng
>
>>
>> On Tue, Apr 12, 2016 at 2:11 PM, Jonathan Gibbons
>> <jonathan.gibbons at oracle.com> wrote:
>> >
>> >
>> > On 04/11/2016 11:06 AM, Carsten Varming wrote:
>> >>
>> >> Dear jtreg devs,
>> >>
>> >> I wanted to download jtreg to run JDK9 hotspot regression tests, but I
>> >> have been unsuccessful so far. Perhaps you know what I need to do to
>> >> get
>> >> going.
>> >>
>> >> The hotspot regression tests need at least jtreg 4.2 b01. When I
>> >> downloaded the latest build published at
>> >> https://adopt-openjdk.ci.cloudbees.com/job/jtreg/ (4.2.0-tip, from
>> >> build
>> >> 496) and tried the hotspot regression tests I got:
>> >>
>> >> Error: Unexpected exception occurred! java.lang.NumberFormatException:
>> >> For
>> >> input string: "ip"
>> >> java.lang.NumberFormatException: For input string: "ip"
>> >> at
>> >>
>> >> java.lang.NumberFormatException.forInputString(java.base at 9-internal/NumberFormatException.java:65)
>> >> at
>> >> java.lang.Integer.parseInt(java.base at 9-internal/Integer.java:695)
>> >> at
>> >> java.lang.Integer.parseInt(java.base at 9-internal/Integer.java:813)
>> >> at com.sun.javatest.regtest.Version.getBuild(Version.java:186)
>> >> at com.sun.javatest.regtest.Version.compareTo(Version.java:168)
>> >> at com.sun.javatest.regtest.Main.run(Main.java:1091)
>> >> at com.sun.javatest.regtest.Main.run(Main.java:1037)
>> >> at com.sun.javatest.regtest.Main.main(Main.java:951)
>> >>
>> >> I suspect the check against "requiredVersion=4.2 b01" from TEST.ROOT
>> >>
>> >> (http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/file/1c08ca66db33/test/TEST.ROOT)
>> >> went wrong. I suspect "build = manifest.getProperty("jtreg-Build");" in
>> >>
>> >> http://hg.openjdk.java.net/code-tools/jtreg/file/6bfef17a03d5/src/share/classes/com/sun/javatest/regtest/Version.java
>> >> sets Version.build to "tip" and Version.getBuild tries to parse "ip" as
>> >> a
>> >> number. :(
>> >>
>> >> I tried to get past this problem by changing the required jtreg version
>> >> to
>> >> 4.1 b01. That gets the tests running, but a third of them fail with a
>> >> class
>> >> loading problem: A ClassFormatError is thrown with "Truncated class
>> >> file".
>> >> This seems to be due to a missing
>> >> java/lang/reflect/JTRegModuleHelper.class.
>> >> I suspect that this requirement was introduced with the module system
>> >> that
>> >> was integrated a few weeks ago.
>> >>
>> >> So, how do I get a version of jtreg that works with the latest JDK9?
>> >>
>> >> BTW. It looks like the jtreg build
>> >> (https://adopt-openjdk.ci.cloudbees.com/job/jtreg/) is failing because
>> >> of a
>> >> missing dependency on testng.
>> >>
>> >> Help much appreaciated,
>> >> Carsten
>> >
>> >
>> > The version of jtreg available on cloudbees.com has the following entry
>> > in
>> > its MANIFEST.MF,
>> >
>> > jtreg-Build: tip
>> >
>> > and jtreg is naively assuming it to be of the form
>> > jtreg-Build: b<integer>
>> >
>> > I can make jtreg be more tolerant, but I also also note that the binary
>> > is
>> > missing lib/asmtools.jar, which is required by some tests. The contents
>> > of
>> > the tar bundle are all dated 25 January 2016, 10:47 which is somewhat
>> > suspicious.
>> >
>> > -- Jon
>
>
More information about the jtreg-use
mailing list