procps/testsuite/vmstat.test/vmstat.exp
Craig Small f4cc9720ee Reduced partition type check
vmstat -p checks used to fail on systems with odd
partition tables, including some Debian buildd servers.
This change limits what sort of test partitions are used,
otherwise the test is skipped.

There probably are other valid partitions, these can be added
later, if known.
2014-05-27 20:49:16 +10:00

49 lines
1.9 KiB
Plaintext

#
# Dejagnu tests for vmstat - part of procps
set vmstat "${topdir}vmstat"
# Run vmstat with no arguments
set test "vmstat with no arguments"
spawn $vmstat
expect_pass "$test" "^procs\[ -\]+memory\[ -\]+swap\[ -\]+io\[ -\]+system\[ -\]+cpu\[ -\]+\\s*r\\s+b\\s+swpd\\s+free\\s+buff\\s+cache\\s+si\\s+so\\s+bi\\s+bo\\s+in\\s+cs us sy id wa st\\s*\(\\s+\\d+\){17}\\s*$"
set test "vmstat with -a flag"
spawn $vmstat -a
expect_pass "$test" "^procs\[ -\]+memory\[ -\]+swap\[ -\]+io\[ -\]+system\[ -\]+cpu\[ -\]+\\s*r\\s+b\\s+swpd\\s+free\\s+inact\\s+active\\s+si\\s+so\\s+bi\\s+bo\\s+in\\s+cs us sy id wa st\\s*\(\\s+\\d+\){17}\\s*$"
set test "vmstat fork option"
spawn $vmstat -f
expect_pass "$test" "^\\s+\\d+ forks\\s*$"
if { [ file readable "/proc/slabinfo" ] == 0 } {
unsupported "slabinfo (-m option) test disabled as /proc/slabinfo is unreadable"
} else {
set test "vmstat slabinfo (-m option)"
spawn $vmstat -m
expect_pass "$test" "^Cache\\s+Num\\s+Total\\s+Size\\s+Pages\\s+\(\[\(\)A-Za-z0-9_-\]+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*\){1,}"
}
set test "vmstat disk information (-d option)"
if { [ file readable "/sys/block" ] == 0 } {
unsupported "$test /sys/block not readable"
} else {
spawn $vmstat -d
expect_pass "$test" "^disk\[ -\]+reads\[ -\]+writes\[ -\]+IO\[ -\]+\\s+total\\s+merged\\s+sectors\\s+ms\\s+total\\s+merged\\s+sectors\\s+ms\\s+cur\\s+sec\\s+"
}
# Need a partition
set diskstats [ exec cat /proc/diskstats ]
if { [ file readable "/sys/block" ] == 0 } {
unsupported "vmstat partition /sys/block not readable"
} else {
if [ regexp "\\s+\\d+\\s+\\d+\\s+\((?:hd|sd|vd)\[a-z\]\\d+\)\\s+\[0-9\]\[0-9\]+" $diskstats line partition == 1 ] {
set test "vmstat partition (using $partition)"
spawn $vmstat -p $partition
expect_pass "$test" "^${partition}\\s+reads"
} else {
unsupported "vmstat partition (cannot find partition)"
}
}