procps/testsuite/free.test/free.exp
Craig Small 3d807ae853 Minor test fixes for non-linux
procps works well on Linux, on other arches there are some strange
differences due to their emulation of procfs which is not 100%
Disabling checks for non-linux until that can be sorted out.
2011-12-03 00:32:14 +11:00

46 lines
2.3 KiB
Plaintext

#
# Testsuite for free program
#
set free "${topdir}free"
set meminfo [ exec cat /proc/meminfo ]
regexp "MemTotal:\\s+\(\\d+\)" $meminfo -> memtotal_kb
regexp "SwapTotal:\\s+\(\\d+\)" $meminfo -> swaptotal_kb
set free_header "^\\s+total\\s+used\\s+free\\s+shared\\s+buffers\\s+cached\\s*"
set test "free with no arguments"
spawn $free
expect_pass "$test" "^${free_header}Mem:\\s+${memtotal_kb}\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*-\\/\\+ buffers\\/cache:\\s+\\d+\\s+\\d+\\s*Swap:\\s+${swaptotal_kb}\\s+\\d+\\s+\\d+\\s*"
set test "free with -b argument"
set memtotal [ expr { $memtotal_kb * 1024 } ]
set swaptotal [ expr { $swaptotal_kb * 1024 } ]
spawn $free -b
expect_pass "$test" "${free_header}Mem:\\s+${memtotal}\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*-\\/\\+ buffers\\/cache:\\s+\\d+\\s+\\d+\\s*Swap:\\s+${swaptotal}\\s+\\d+\\s+\\d+\\s*"
foreach {arg divisor } {-k 1 -m 1024 -g 1048576 } {
set test "free with $arg argument"
set memtotal [ expr { $memtotal_kb / $divisor } ]
set swaptotal [ expr { $swaptotal_kb / $divisor } ]
spawn $free $arg
expect_pass "$test" "${free_header}Mem:\\s+$memtotal\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*-\\/\\+ buffers\\/cache:\\s+\\d+\\s+\\d+\\s*Swap:\\s+${swaptotal}\\s+\\d+\\s+\\d+\\s*"
}
#set test "free with human readable output"
#spawn $free -h
#expect_pass "$test" "${free_header}Mem:\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s*-\\/\\+ buffers\\/cache:\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s*Swap:\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s+\[0-9.\]+\[BKMGT\]\\s*"
set test "free with lo and hi memory statistics"
spawn $free -l
expect_pass "$test" "${free_header}Mem:\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*Low:\\s+\\d+\\s+\\d+\\s+\\d+\\s*High:\\s+\\d+\\s+\\d+\\s+\\d+\\s*-\\/\\+ buffers\\/cache:\\s+\\d+\\s+\\d+\\s*Swap:\\s+\\d+\\s+\\d+\\s+\\d+"
set test "free old argument"
spawn $free -o
expect_pass "$test" "${free_header}Mem:\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*Swap:\\s+\\d+\\s+\\d+\\s+\\d+"
set test "free with total"
spawn $free -t
expect_pass "$test" "${free_header}Mem:\\s+${memtotal_kb}\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s+\\d+\\s*-\\/\\+ buffers\\/cache:\\s+\\d+\\s+\\d+\\s*Swap:\\s+${swaptotal_kb}\\s+\\d+\\s+\\d+\\s*Total:\\s+\\d+\\s+\\d+\\s+\\d+\\s*"