13 NULL=/dev/null
14 PS=":"
15 FS="/"
16 ;;
17 Windows_* )
18 echo "Test skipped for Windows"
19 exit 0
20 ;;
21 * )
22 echo "Unrecognized system!"
23 exit 1;
24 ;;
25 esac
26
27 if [ "${JAVA_HOME}" = "" ]
28 then
29 echo "JAVA_HOME not set"
30 exit 0
31 fi
32
33 $JAVA_HOME/bin/java -version > $NULL 2>&1
34
35 if [ $? != 0 ]; then
36 echo "Wrong JAVA_HOME? JAVA_HOME: $JAVA_HOME"
37 exit $?
38 fi
39
40 # create a small test case
41 testname="Test"
42 if [ -e ${testname}.java ]; then
43 rm -rf ${testname}.*
44 fi
45
46 cat >> ${testname}.java << __EOF__
47 import java.util.Vector;
48
49 public class Test implements Runnable
50 {
51 private boolean _should_stop = false;
52
53 public static void main(String[] args) throws Exception {
102 echo "$JAVA_HOME/bin/javac ${testname}.java $fail"
103 exit -1
104 fi
105
106 # test for 2 minutes, it will complete circulation of gc log rotation
107 tts=2
108 logfile="test.log"
109 hotspotlog="hotspot.log"
110
111 if [ -e $logfile ]; then
112 rm -rf $logfile
113 fi
114
115 #also delete $hotspotlog if it exists
116 if [ -f $hotspotlog ]; then
117 rm -rf $hotspotlog
118 fi
119
120 options="-Xloggc:$logfile -XX:+UseConcMarkSweepGC -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=$gclogsize"
121 echo "Test gc log rotation in same file, wait for $tts minutes ...."
122 $JAVA_HOME/bin/java $options $testname $tts
123 if [ $? != 0 ]; then
124 echo "$msgfail"
125 exit -1
126 fi
127
128 # rotation file will be $logfile.0
129 if [ -f $logfile.0 ]; then
130 outfilesize=`ls -l $logfile.0 | awk '{print $5 }'`
131 if [ $((outfilesize)) -ge $((filesize)) ]; then
132 echo $msgsuccess
133 else
134 echo $msgfail
135 fi
136 else
137 echo $msgfail
138 exit -1
139 fi
140
141 # delete log file
142 rm -rf $logfile.0
143 if [ -f $hotspotlog ]; then
144 rm -rf $hotspotlog
145 fi
146
147 #multiple log files
148 numoffiles=3
149 options="-Xloggc:$logfile -XX:+UseConcMarkSweepGC -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=$numoffiles -XX:GCLogFileSize=$gclogsize"
150 echo "Test gc log rotation in $numoffiles files, wait for $tts minutes ...."
151 $JAVA_HOME/bin/java $options $testname $tts
152 if [ $? != 0 ]; then
153 echo "$msgfail"
154 exit -1
155 fi
156
157 atleast=0 # at least size of numoffile-1 files >= $gclogsize
158 tk=0
159 while [ $(($tk)) -lt $(($numoffiles)) ]
160 do
161 if [ -f $logfile.$tk ]; then
162 outfilesize=`ls -l $logfile.$tk | awk '{ print $5 }'`
163 if [ $(($outfilesize)) -ge $(($filesize)) ]; then
164 atleast=$((atleast+1))
165 fi
166 fi
167 tk=$((tk+1))
168 done
169
170 rm -rf $logfile.*
171 rm -rf $testname.*
|
13 NULL=/dev/null
14 PS=":"
15 FS="/"
16 ;;
17 Windows_* )
18 echo "Test skipped for Windows"
19 exit 0
20 ;;
21 * )
22 echo "Unrecognized system!"
23 exit 1;
24 ;;
25 esac
26
27 if [ "${JAVA_HOME}" = "" ]
28 then
29 echo "JAVA_HOME not set"
30 exit 0
31 fi
32
33 $JAVA_HOME/bin/java ${TESTVMOPTS} -version > $NULL 2>&1
34
35 if [ $? != 0 ]; then
36 echo "Wrong JAVA_HOME? JAVA_HOME: $JAVA_HOME"
37 exit $?
38 fi
39
40 # create a small test case
41 testname="Test"
42 if [ -e ${testname}.java ]; then
43 rm -rf ${testname}.*
44 fi
45
46 cat >> ${testname}.java << __EOF__
47 import java.util.Vector;
48
49 public class Test implements Runnable
50 {
51 private boolean _should_stop = false;
52
53 public static void main(String[] args) throws Exception {
102 echo "$JAVA_HOME/bin/javac ${testname}.java $fail"
103 exit -1
104 fi
105
106 # test for 2 minutes, it will complete circulation of gc log rotation
107 tts=2
108 logfile="test.log"
109 hotspotlog="hotspot.log"
110
111 if [ -e $logfile ]; then
112 rm -rf $logfile
113 fi
114
115 #also delete $hotspotlog if it exists
116 if [ -f $hotspotlog ]; then
117 rm -rf $hotspotlog
118 fi
119
120 options="-Xloggc:$logfile -XX:+UseConcMarkSweepGC -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=$gclogsize"
121 echo "Test gc log rotation in same file, wait for $tts minutes ...."
122 $JAVA_HOME/bin/java ${TESTVMOPTS} $options $testname $tts
123 if [ $? != 0 ]; then
124 echo "$msgfail"
125 exit -1
126 fi
127
128 # rotation file will be $logfile.0
129 if [ -f $logfile.0 ]; then
130 outfilesize=`ls -l $logfile.0 | awk '{print $5 }'`
131 if [ $((outfilesize)) -ge $((filesize)) ]; then
132 echo $msgsuccess
133 else
134 echo $msgfail
135 fi
136 else
137 echo $msgfail
138 exit -1
139 fi
140
141 # delete log file
142 rm -rf $logfile.0
143 if [ -f $hotspotlog ]; then
144 rm -rf $hotspotlog
145 fi
146
147 #multiple log files
148 numoffiles=3
149 options="-Xloggc:$logfile -XX:+UseConcMarkSweepGC -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=$numoffiles -XX:GCLogFileSize=$gclogsize"
150 echo "Test gc log rotation in $numoffiles files, wait for $tts minutes ...."
151 $JAVA_HOME/bin/java ${TESTVMOPTS} $options $testname $tts
152 if [ $? != 0 ]; then
153 echo "$msgfail"
154 exit -1
155 fi
156
157 atleast=0 # at least size of numoffile-1 files >= $gclogsize
158 tk=0
159 while [ $(($tk)) -lt $(($numoffiles)) ]
160 do
161 if [ -f $logfile.$tk ]; then
162 outfilesize=`ls -l $logfile.$tk | awk '{ print $5 }'`
163 if [ $(($outfilesize)) -ge $(($filesize)) ]; then
164 atleast=$((atleast+1))
165 fi
166 fi
167 tk=$((tk+1))
168 done
169
170 rm -rf $logfile.*
171 rm -rf $testname.*
|