diff options
author | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-01-31 18:43:14 +0100 |
---|---|---|
committer | Sylvain Pineau <sylvain.pineau@canonical.com> | 2017-01-31 18:43:14 +0100 |
commit | 3fc505c5e6e2fa06ee3be0af07e99e6dad237025 (patch) | |
tree | 60f991fa25897c83de71706efa3fd52d1485f6db /bin | |
parent | ec2d0fe7cce712f5c0327240daf545505b37d382 (diff) |
Import plainbox-provider-checkbox_0.34.0~rc2.orig.tar.gzupstream-0.34.0_rc2patched-0.34.0_rc2-1
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/disk_stats_test | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/bin/disk_stats_test b/bin/disk_stats_test index 851dff7..3c88a6c 100755 --- a/bin/disk_stats_test +++ b/bin/disk_stats_test @@ -4,11 +4,21 @@ #and is properly represented. Defaults to sda if not passed a disk at run time DISK="sda" +STATUS=0 check_return_code() { if [ "${1}" -ne "0" ]; then echo "ERROR: retval ${1} : ${2}" >&2 - exit ${1} + if [[ $STATUS -eq 0 ]]; then + STATUS=${1} + fi + if [ $# -gt 2 ]; then + shift + shift + for item in "$@"; do + echo "output: "$item + done + fi fi } @@ -16,53 +26,45 @@ if [[ "$1" != '' ]]; then DISK="$1" fi -#Get some baseline stats for use later -echo "Getting baseline stats" -PROC_STAT_BEGIN=`grep -m 1 $DISK /proc/diskstats` -SYS_STAT_BEGIN=`cat /sys/block/$DISK/stat` - -#Generate some disk activity using hdparm -t -echo "Generating some disk activity" -hdparm -t "/dev/$DISK" 2&> /dev/null - -#Sleep 5 to let the stats files catch up -sleep 5 - #Check /proc/partitions, exit with fail if disk isn't found -echo "Checking /proc/partitions" -grep -q $DISK /proc/partitions +grep -w -q $DISK /proc/partitions check_return_code $? "Disk $DISK not found in /proc/partitions" #Next, check /proc/diskstats -echo "Checking /proc/diskstats" -grep -q -m 1 $DISK /proc/diskstats +grep -w -q -m 1 $DISK /proc/diskstats check_return_code $? "Disk $DISK not found in /proc/diskstats" #Verify the disk shows up in /sys/block/ -echo "Checking /sys/block" -ls /sys/block | grep -q $DISK +ls /sys/block | grep -w -q $DISK check_return_code $? "Disk $DISK not found in /sys/block" #Verify there are stats in /sys/block/$DISK/stat -echo "Checking /sys/block/$DISK/stat" [[ -s "/sys/block/$DISK/stat" ]] check_return_code $? "stat is either empty or nonexistant in /sys/block/$DISK/" +#Get some baseline stats for use later +PROC_STAT_BEGIN=`grep -w -m 1 $DISK /proc/diskstats` +SYS_STAT_BEGIN=`cat /sys/block/$DISK/stat` + +#Generate some disk activity using hdparm -t +hdparm -t "/dev/$DISK" 2&> /dev/null + #Sleep 5 to let the stats files catch up sleep 5 #Make sure the stats have changed: -echo "Getting ending stats" -PROC_STAT_END=`grep -m 1 $DISK /proc/diskstats` +PROC_STAT_END=`grep -w -m 1 $DISK /proc/diskstats` SYS_STAT_END=`cat /sys/block/$DISK/stat` -echo "Checking /proc/diskstats for changes" [[ "$PROC_STAT_BEGIN" != "$PROC_STAT_END" ]] -check_return_code $? "Stats in /proc/diskstats did not change" +check_return_code $? "Stats in /proc/diskstats did not change" \ + "$PROC_STAT_BEGIN" "$PROC_STAT_END" -echo "Checking /sys/block/$DISK/stat for changes" -[[ "$SYS_STAT_BEGIN" != "$SYS_STAT_END" ]] -check_return_code $? "Stats in /sys/block/$DISK/stat did not change" +check_return_code $? "Stats in /sys/block/$DISK/stat did not change" \ + "$SYS_STAT_BEGIN" "$SYS_STAT_END" + +if [[ $STATUS -eq 0 ]]; then + echo "PASS: Finished testing stats for $DISK" +fi -echo "PASS: Finished testing stats for $DISK" -exit 0 +exit $STATUS |