1 # 2 # Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. 8 # 9 # This code is distributed in the hope that it will be useful, but WITHOUT 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 # version 2 for more details (a copy is included in the LICENSE file that 13 # accompanied this code). 14 # 15 # You should have received a copy of the GNU General Public License version 16 # 2 along with this work; if not, write to the Free Software Foundation, 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 # 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 # or visit www.oracle.com if you need additional information or have any 21 # questions. 22 # 23 24 # 25 # @test 26 # @summary Tests MM getTotalSwapSpaceSize() api. 27 # @author Swamy V 28 # @bug 6252770 29 # 30 # @run build GetTotalSwapSpaceSize 31 # @run shell TestTotalSwap.sh 32 # 33 34 # 35 # This test tests the actual swap size on linux and solaris. 36 # On windows this is just a sanity check and correct size should 37 # be checked manually: 38 # 39 # Windows NT/XP/2000: 40 # 1. Run Start->Accessories->System Tools->System Information. 41 # 2. The value (reported in Kbytes) is in the "Page File Space" entry 42 # Windows 98/ME: 43 # Unknown. 44 # 45 46 47 #set -x 48 49 #Set appropriate jdk 50 # 51 52 if [ ! -z "${TESTJAVA}" ] ; then 53 jdk="$TESTJAVA" 54 else 55 echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test." 56 exit 1 57 fi 58 59 runOne() 60 { 61 echo "runOne $@" 62 $TESTJAVA/bin/java -classpath $TESTCLASSES $@ || exit 3 63 } 64 65 solaris_swap_size() 66 { 67 total_swap=0 68 for i in `/usr/sbin/swap -l | awk '{print $4}' | grep -v blocks` 69 do 70 # swap -l returns size in blocks of 512 bytes. 71 total_swap=`expr $i \* 512 + $total_swap` 72 done 73 } 74 75 # Test GetTotalSwapSpaceSize if we are running on Unix 76 total_swap=0 77 case `uname -s` in 78 SunOS ) 79 solaris_swap_size 80 runOne GetTotalSwapSpaceSize $total_swap 81 ;; 82 Linux ) 83 total_swap=`free -b | grep -i swap | awk '{print $2}'` 84 runOne GetTotalSwapSpaceSize $total_swap 85 ;; 86 * ) 87 runOne GetTotalSwapSpaceSize "sanity-only" 88 ;; 89 esac 90 91 exit 0 92