0N/A#
2362N/A# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A#
0N/A# This code is free software; you can redistribute it and/or modify it
0N/A# under the terms of the GNU General Public License version 2 only, as
0N/A# published by the Free Software Foundation.
0N/A#
0N/A# This code is distributed in the hope that it will be useful, but WITHOUT
0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A# version 2 for more details (a copy is included in the LICENSE file that
0N/A# accompanied this code).
0N/A#
0N/A# You should have received a copy of the GNU General Public License version
0N/A# 2 along with this work; if not, write to the Free Software Foundation,
0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A#
2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A# or visit www.oracle.com if you need additional information or have any
2362N/A# questions.
0N/A#
0N/A
0N/A#
0N/A# @test
0N/A# @summary Tests MM getTotalSwapSpaceSize() api.
0N/A# @author Swamy V
0N/A# @bug 6252770
0N/A#
0N/A# @run build GetTotalSwapSpaceSize
0N/A# @run shell TestTotalSwap.sh
0N/A#
0N/A
0N/A#
0N/A# This test tests the actual swap size on linux and solaris.
0N/A# On windows this is just a sanity check and correct size should
0N/A# be checked manually:
0N/A#
0N/A# Windows NT/XP/2000:
0N/A# 1. Run Start->Accessories->System Tools->System Information.
0N/A# 2. The value (reported in Kbytes) is in the "Page File Space" entry
0N/A# Windows 98/ME:
0N/A# Unknown.
0N/A#
0N/A
0N/A
0N/A#set -x
0N/A
0N/A#Set appropriate jdk
0N/A#
0N/A
0N/Aif [ ! -z "${TESTJAVA}" ] ; then
0N/A jdk="$TESTJAVA"
0N/Aelse
0N/A echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
0N/A exit 1
0N/Afi
0N/A
0N/ArunOne()
0N/A{
0N/A echo "runOne $@"
0N/A $TESTJAVA/bin/java -classpath $TESTCLASSES $@ || exit 3
0N/A}
0N/A
0N/Asolaris_swap_size()
0N/A{
0N/A total_swap=0
0N/A for i in `/usr/sbin/swap -l | awk '{print $4}' | grep -v blocks`
0N/A do
0N/A # swap -l returns size in blocks of 512 bytes.
0N/A total_swap=`expr $i \* 512 + $total_swap`
0N/A done
0N/A}
0N/A
0N/A# Test GetTotalSwapSpaceSize if we are running on Unix
0N/Atotal_swap=0
0N/Acase `uname -s` in
0N/A SunOS )
0N/A solaris_swap_size
0N/A runOne GetTotalSwapSpaceSize $total_swap
0N/A ;;
0N/A Linux )
0N/A total_swap=`free -b | grep -i swap | awk '{print $2}'`
0N/A runOne GetTotalSwapSpaceSize $total_swap
0N/A ;;
4958N/A Darwin )
4958N/A # $ sysctl -n vm.swapusage
4958N/A # total = 8192.00M used = 7471.11M free = 720.89M (encrypted)
4958N/A swap=`/usr/sbin/sysctl -n vm.swapusage | awk '{ print $3 }' | awk -F . '{ print $1 }'` || exit 2
4958N/A total_swap=`expr $swap \* 1024 \* 1024` || exit 2
4958N/A runOne GetTotalSwapSpaceSize $total_swap
4958N/A ;;
0N/A * )
0N/A runOne GetTotalSwapSpaceSize "sanity-only"
0N/A ;;
0N/Aesac
0N/A
0N/Aexit 0
0N/A