1 # 2 # Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 6 7 # 8 # @test Test7110720.sh 9 # @bug 7110720 10 # @summary improve VM configuration file loading 11 # @run shell Test7110720.sh 12 # 13 14 if [ "${TESTSRC}" = "" ] 15 then 16 TESTSRC=${PWD} 17 echo "TESTSRC not set. Using "${TESTSRC}" as default" 18 fi 19 echo "TESTSRC=${TESTSRC}" 20 ## Adding common setup Variables for running shell tests. 21 . ${TESTSRC}/../../test_env.sh 22 23 # Jtreg sets TESTVMOPTS which may include -d64 which is 24 # required to test a 64-bit JVM on some platforms. 25 # If another test harness still creates HOME/JDK64BIT, 26 # we can recognise that. 27 28 # set platform-dependent variables 29 OS=`uname -s` 30 case "$OS" in 31 SunOS | Linux | Darwin ) 32 FS="/" 33 RM=/bin/rm 34 CP=/bin/cp 35 MV=/bin/mv 36 ## for solaris, linux it's HOME 37 FILE_LOCATION=$HOME 38 if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ] 39 then 40 TESTVMOPTS=`cat ${FILE_LOCATION}${FS}JDK64BIT` 41 fi 42 ;; 43 Windows_* ) 44 FS="\\" 45 RM=rm 46 CP=cp 47 MV=mv 48 ;; 49 CYGWIN_* ) 50 FS="/" 51 RM=rm 52 CP=cp 53 MV=mv 54 ;; 55 * ) 56 echo "Unrecognized system!" 57 exit 1; 58 ;; 59 esac 60 61 62 JAVA=${TESTJAVA}${FS}bin${FS}java 63 64 # Don't test debug builds, they do read the config files: 65 ${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "debug" >/dev/null 66 if [ "$?" = "0" ]; then 67 echo Skipping test for debug build. 68 exit 0 69 fi 70 71 ok=yes 72 73 $RM -f .hotspot_compiler .hotspotrc 74 75 ${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage in" >/dev/null 76 if [ "$?" = "0" ]; then 77 echo "FAILED: base case failure" 78 exit 1 79 fi 80 81 82 echo "garbage in, garbage out" > .hotspot_compiler 83 ${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage in" >/dev/null 84 if [ "$?" = "0" ]; then 85 echo "FAILED: .hotspot_compiler was read" 86 ok=no 87 fi 88 89 $MV .hotspot_compiler hs_comp.txt 90 ${JAVA} ${TESTVMOPTS} -XX:CompileCommandFile=hs_comp.txt -version 2>&1 | grep "garbage in" >/dev/null 91 if [ "$?" = "1" ]; then 92 echo "FAILED: explicit compiler command file not read" 93 ok=no 94 fi 95 96 $RM -f .hotspot_compiler hs_comp.txt 97 98 echo "garbage" > .hotspotrc 99 ${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage" >/dev/null 100 if [ "$?" = "0" ]; then 101 echo "FAILED: .hotspotrc was read" 102 ok=no 103 fi 104 105 $MV .hotspotrc hs_flags.txt 106 ${JAVA} ${TESTVMOPTS} -XX:Flags=hs_flags.txt -version 2>&1 | grep "garbage" >/dev/null 107 if [ "$?" = "1" ]; then 108 echo "FAILED: explicit flags file not read" 109 ok=no 110 fi 111 112 if [ "${ok}" = "no" ]; then 113 echo "Some tests failed." 114 exit 1 115 else 116 echo "Passed" 117 exit 0 118 fi 119