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