RFR(S/L): 8028537: PPC64: Updated the JDK regression tests to run on AIX
Volker Simonis
volker.simonis at gmail.com
Tue Jan 14 16:57:48 UTC 2014
Hi,
could you please review the following change:
http://cr.openjdk.java.net/~simonis/webrevs/8028537/
which, together with the changes from "8031581: PPC64: Addons and fixes for
AIX to pass the jdk regression tests" and "8031134 : PPC64: implement
printing on AIX" enables our our port to pass all but the following 7 jtreg
regression tests on AIX (compared to the Linux/x86_64 baseline from
www.java.net/download/jdk8/testresults/testresults.html):
java/net/Inet6Address/B6558853.java
java/nio/channels/AsynchronousChannelGroup/Basic.java (sporadically)
java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java
java/nio/channels/AsynchronousChannelGroup/Unbounded.java (sporadically)
java/nio/channels/Selector/RacyDeregister.java
sun/security/krb5/auto/Unreachable.java (only on IPv6)
The change is only big in the amount of files it touches but rather small
in the amount of actual code changes so I flagged it with S/L.
Most changes simply add AIX as a known platform to the OS detection
sections of the various tests. The are either of the form:
case "$OS" in
- SunOS | Linux | Darwin )
+ SunOS | Linux | Darwin | AIX )
PATHSEP=":"
or:
isSolaris=true
;;
+ AIX )
+ OS="AIX"
+ isAIX=true
+ ;;
Windows* )
OS="Windows"
The following explanations only mention test with changes different to the
ones above:
test/ProblemList.txt
- Added three tests which currently don't work on AIX.
test/com/sun/java/swing/plaf/windows/8016551/bug8016551.java
- This test calls JFrame.setDefaultCloseOperation() which is not allowed
under the security manager which is active if the test are running in
agentvm mode. So better always run this test in othervm mode.
test/com/sun/jdi/PrivateTransportTest.sh
- On AIX, we have to use LIBPATH instead of LD_LIBRARY_PATH.
test/com/sun/nio/sctp/SctpChannel/Util.java
test/com/sun/nio/sctp/SctpMultiChannel/Util.java
test/com/sun/nio/sctp/SctpServerChannel/Util.java
- On AIX, we currently haven't implemented SCTP but we nevertheless
compile the shared SCTP classes into the runtime class library. This way
the AIX JDK can at least compile SCTP applications altough it can not run
them. To support this scenario, the runtime check for the availability of
SCTP has to be extended to catch UnsatisfiedLinkError and
NoClassDefFoundError. UnsatisfiedLinkError will be thrown the first time
when the class SctpChannelImpl will be loaded because it cannot load the
its native support library in the static initialisation section. On the
next load attempt of the class, a NoClassDefFoundError will be thrown
because of the previously failed initialisation.
test/java/net/DatagramSocket/Send12k.java
- AIX throws an IOException: Message too long if the message is too
long. DatagramSocket.send() is specified to throw an IOException so
better don't be too specific in the catch clause.
test/java/nio/file/Files/SBC.java
- AIX actually supports symbolic links, but it does not support
NOFOLLOW_LINKS, or more exactly the O_NOFOLLOW flag to the open() system
call which is tested here.
test/java/nio/file/Files/walkFileTree/find.sh
- On AIX find -follow may core dump on recursive links without '-L' (see
http://www-01.ibm.com/support/docview.wss?uid=isg1IV28143).
test/java/util/logging/AnonLoggerWeakRefLeak.sh
test/java/util/logging/LoggerWeakRefLeak.sh
- Only treat missing jmap options as warnings and not as errors.
test/sun/rmi/rmic/newrmic/equivalence/batch.sh
- On AIX the diff utility doesn't detect binary files and thus outputs
the full diff of different class files which makes the test fail. Because
the generated class files aren’t used or checked anyway we can completely
omit the generation of class files by always using the -nowrite option.
- Also reformatted the command lines to make the differences more
apparent.
test/tools/launcher/ExecutionEnvironment.java
- On AIX, we have to use LIBPATH instead of LD_LIBRARY_PATH.
- AIX does not support the -rpath linker options so the launchers have
to prepend the jdk library path to LIBPATH.
test/tools/launcher/Settings.java
- On PPC64 we need a bigger stack size.
Thank you and best regards,
Volker
More information about the core-libs-dev
mailing list