0N/A#!/bin/sh
0N/A#
0N/A# @test
0N/A# @bug 6332666
0N/A# @summary tests the capability of replacing the currency data with user
0N/A# specified currency properties file
0N/A# @build PropertiesTest
0N/A# @run shell/timeout=600 PropertiesTest.sh
0N/A
0N/Aif [ "${TESTSRC}" = "" ]
0N/Athen
0N/A echo "TESTSRC not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
0N/Aecho "TESTSRC=${TESTSRC}"
0N/Aif [ "${TESTJAVA}" = "" ]
0N/Athen
0N/A echo "TESTJAVA not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
0N/Aecho "TESTJAVA=${TESTJAVA}"
0N/Aif [ "${TESTCLASSES}" = "" ]
0N/Athen
0N/A echo "TESTCLASSES not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
0N/Aecho "TESTCLASSES=${TESTCLASSES}"
0N/Aecho "CLASSPATH=${CLASSPATH}"
0N/A
0N/A# set platform-dependent variables
0N/AOS=`uname -s`
0N/Acase "$OS" in
4638N/A SunOS | Linux | Darwin )
0N/A PS=":"
0N/A FS="/"
0N/A ;;
2077N/A Windows* | CYGWIN* )
0N/A PS=";"
0N/A FS="\\"
0N/A ;;
0N/A * )
0N/A echo "Unrecognized system!"
0N/A exit 1;
0N/A ;;
0N/Aesac
0N/A
0N/A# Currency dump path #1. Just dump currencies with the bare JRE
0N/A
0N/A# run
0N/ARUNCMD="${TESTJAVA}${FS}bin${FS}java -classpath ${TESTCLASSES} PropertiesTest -d dump1"
0N/A
0N/Aecho ${RUNCMD}
0N/A${RUNCMD}
0N/Aresult=$?
0N/A
0N/Aif [ $result -eq 0 ]
0N/Athen
0N/A echo "Execution successful"
0N/Aelse
0N/A echo "Execution of the test case failed."
0N/Afi
0N/A
0N/A# Currency dump path #2. Dump currencies using the JRE with replacement currencies
0N/A
0N/A# copy the test properties file
0N/ACOPIED=0
0N/Aif [ -w $TESTJAVA ]
4638N/Athen
0N/A WRITABLEJDK=$TESTJAVA
0N/Aelse
4638N/A WRITABLEJDK=.${FS}testjava
0N/A cp -r $TESTJAVA $WRITABLEJDK
0N/A COPIED=1
0N/Afi
0N/A
0N/Aif [ -d ${WRITABLEJDK}${FS}jre ]
0N/Athen
0N/A PROPLOCATION=${WRITABLEJDK}${FS}jre${FS}lib
0N/Aelse
0N/A PROPLOCATION=${WRITABLEJDK}${FS}lib
0N/Afi
0N/Acp ${TESTSRC}${FS}currency.properties $PROPLOCATION
0N/A
0N/A# run
0N/ARUNCMD="${WRITABLEJDK}${FS}bin${FS}java -classpath ${TESTCLASSES} PropertiesTest -d dump2"
0N/A
0N/Aecho ${RUNCMD}
0N/A${RUNCMD}
0N/Aresult=$?
0N/A
0N/Aif [ $result -eq 0 ]
0N/Athen
0N/A echo "Execution successful"
0N/Aelse
0N/A echo "Execution of the test case failed."
0N/Afi
0N/A
0N/A# Now compare the two dump files
0N/A
0N/ARUNCMD="${WRITABLEJDK}${FS}bin${FS}java -classpath ${TESTCLASSES} PropertiesTest -c dump1 dump2"
0N/A
0N/Aecho ${RUNCMD}
0N/A${RUNCMD}
0N/Aresult=$?
0N/A
0N/Aif [ $result -eq 0 ]
0N/Athen
0N/A echo "Execution successful"
0N/Aelse
0N/A echo "Execution of the test case failed."
0N/Afi
0N/A
0N/A# Cleanup
0N/Arm -f dump1
0N/Arm -f dump2
0N/Arm -f ${PROPLOCATION}${FS}currency.properties
0N/Aif [ $COPIED -eq 1 ]
0N/Athen
0N/A rm -rf $WRITABLEJDK
0N/Afi
0N/A
0N/Aexit $result