--- /dev/null Mon Aug 27 20:12:55 2012 +++ new/./test/java/awt/JAWT/JAWT.sh Mon Aug 27 20:12:55 2012 @@ -0,0 +1,155 @@ +#!/bin/sh + +# @test JAWT.sh +# @bug 7190587 +# @summary Tests Java AWT native interface library +# @author kshefov +# @run shell JAWT.sh + +# NB: To run on Windows with MKS and Visual Studio compiler +# add the following options to jtreg: -e INCLUDE="%INCLUDE%;." -e LIB="%LIB%;." + +if [ "${TESTSRC}" = "" ] +then TESTSRC=. +fi + +if [ "${TESTJAVA}" = "" ] +then + PARENT=`dirname \`which java\`` + TESTJAVA=`dirname ${PARENT}` + echo "TESTJAVA not set, selecting " ${TESTJAVA} + echo "If this is incorrect, try setting the variable manually." +fi + +# set platform-dependent variables +OS=`uname -s` +case "$OS" in + Linux ) + NULL=/dev/null + PS=":" + FS="/" + ${TESTJAVA}${FS}bin${FS}java -version 2>&1 | grep '64-Bit' > $NULL + if [ $? -eq '0' ] + then + ARCH="amd64" + else + ARCH="i386" + fi + SYST="linux" + MAKEFILE="Makefile.unix" + CC="gcc" + MAKE="make" + LD_LIBRARY_PATH="$(TESTJAVA)/jre/lib/$(ARCH):." + ;; + SunOS ) + NULL=/dev/null + PS=":" + FS="/" + if [ `uname -p | grep -c 'sparc'` -gt '0' ] + then + ARCH="sparc" + else + ARCH="i386" + fi + SYST="solaris" + MAKEFILE="Makefile.unix" + CC="gcc" + MAKE="make" + LD_LIBRARY_PATH="$(TESTJAVA)/jre/lib/$(ARCH):." + ;; + Windows* ) + NULL=null + PS=";" + FS="\\" + MAKEFILE="Makefile.win" + CC="cl" + MAKE="nmake" + ${TESTJAVA}${FS}bin${FS}java -d64 -version 2>&1 | grep '64-Bit' > $NULL + if [ "$?" -eq '0' ] + then + ARCH="amd64" + else + ARCH="i386" + fi + SYST="windows" + ;; + CYGWIN* ) + NULL=/dev/null + PS=":" + FS="/" + MAKEFILE="Makefile.cygwin" + CC="g++" + ${TESTJAVA}${FS}bin${FS}java -d64 -version 2>&1 | grep '64-Bit' > $NULL + if [ "$?" -eq '0' ] + then + ARCH="amd64" + else + ARCH="i386" + fi + SYST="cygwin" + MAKE="make" + ;; + Darwin ) + echo "Test passed. This test is not for MacOS." + exit 0; + ;; + * ) + echo "Unrecognized system!" + exit 1; + ;; +esac + +# Skip unsupported platforms +case `uname -m` in + arm* | ppc* ) + echo "Test passed. Not supported on current architecture." + exit 0 + ;; +esac + +echo "OS-ARCH is" ${SYST}-${ARCH} +${TESTJAVA}${FS}bin${FS}java -fullversion 2>&1 + +which ${MAKE} >${NULL} 2>&1 +if [ "$?" -ne '0' ] +then + echo "No make found. Test passed." + exit 0 +fi + +which ${CC} >${NULL} 2>&1 +if [ "$?" -ne '0' ] +then + echo "No C compiler found. Test passed." + exit 0 +fi +case "$OS" in + SunOS ) + ${CC} -v >${NULL} 2>&1 + if [ "$?" -ne '0' ] + then + echo "No C compiler found. Test passed." + exit 0 + fi +esac + +cp ${TESTSRC}${FS}${MAKEFILE} . +case "$OS" in + Windows* | CYGWIN* ) + cp ${TESTJAVA}${FS}jre${FS}bin${FS}jawt.dll . + ;; +esac + +JAVA=${TESTJAVA}${FS}bin${FS}java +JAVAC=${TESTJAVA}${FS}bin${FS}javac +JAVAH=${TESTJAVA}${FS}bin${FS}javah + +export CC SYST ARCH LD_LIBRARY_PATH + +${JAVAC} -d . ${TESTSRC}${FS}MyCanvas.java +${JAVAH} -jni -classpath . -d . MyCanvas +${MAKE} -f ${MAKEFILE} +${JAVA} -classpath . MyCanvas + +exit $? +