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

Reply via email to