build-sys: Handle zero length diskstats in tests
vmstat -d testsuite will fail if your /proc/diskstats is present but zero length. While this seems buggy behaviour from lxcfs, its there and its a simple matter to test for it and skip those tests if we are run on a zero length /proc/diskstats system.
This commit is contained in:
parent
3dd1661a3d
commit
fc97889b2d
@ -35,15 +35,17 @@ set test "vmstat disk information (-d option)"
|
||||
if { [ file readable "/sys/block" ] == 0 } {
|
||||
unsupported "$test /sys/block not readable"
|
||||
} else {
|
||||
set fp [open /proc/diskstats ]
|
||||
if { [ read $fp ] == "" } {
|
||||
close $fp
|
||||
unsupported "$test /proc/diskstats empty"
|
||||
} else {
|
||||
close $fp
|
||||
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
|
||||
@ -52,3 +54,4 @@ if { [ file readable "/sys/block" ] == 0 } {
|
||||
unsupported "vmstat partition (cannot find partition)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user