From 919e37787e1b4e62a80be6a58ec3b2eb06d55ae7 Mon Sep 17 00:00:00 2001 From: Craig Small Date: Sun, 27 Nov 2011 19:12:56 +1100 Subject: [PATCH] added uptime and vmstat tests --- testsuite/Makefile.am | 2 ++ testsuite/config/unix.exp | 10 +++++++++ testsuite/uptime.test/uptime.exp | 8 +++++++ testsuite/vmstat.test/vmstat.exp | 36 ++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 testsuite/uptime.test/uptime.exp create mode 100644 testsuite/vmstat.test/vmstat.exp diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 7786ee1b..35a41d3f 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -6,6 +6,8 @@ DEJATOOL = \ pgrep \ pmap \ pwdx \ + uptime \ + vmstat \ w diff --git a/testsuite/config/unix.exp b/testsuite/config/unix.exp index 57870bce..5ffb3eca 100644 --- a/testsuite/config/unix.exp +++ b/testsuite/config/unix.exp @@ -20,6 +20,16 @@ proc free_version {} { clone_output "${topdir}free version $version\n" } +# uptime functions +proc uptime_load { arg } { } +proc uptime_exit {} {} +proc uptime_version {} { + global topdir + set tmp [ exec ${topdir}uptime -V ] + regexp "procps-ng version (\[0-9.\]*)" $tmp tmp version + clone_output "${topdir}uptime version $version\n" +} + # w functions proc w_load { arg } { } proc w_exit {} {} diff --git a/testsuite/uptime.test/uptime.exp b/testsuite/uptime.test/uptime.exp new file mode 100644 index 00000000..4177ac92 --- /dev/null +++ b/testsuite/uptime.test/uptime.exp @@ -0,0 +1,8 @@ +# +# Dejagnu tests for uptime - part of procps +# +set uptime "${topdir}uptime" + +set test "uptime" +spawn $uptime +expect_pass "$test" "^\\s+\\d{2}:\\d{2}:\\d{2} up (\\d+ days?,)\\s*\\d+(min|:\\d+), +\\d+ users, +load average: \[0-9.\]+, \[0-9.\]+, \[0-9.\]+\\s*$" diff --git a/testsuite/vmstat.test/vmstat.exp b/testsuite/vmstat.test/vmstat.exp new file mode 100644 index 00000000..0adf75a8 --- /dev/null +++ b/testsuite/vmstat.test/vmstat.exp @@ -0,0 +1,36 @@ + +# +# 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\\s*\(\\s+\\d+\){16}\\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\\s*\(\\s+\\d+\){16}\\s*$" + +set test "vmstat fork option" +spawn $vmstat -f +expect_pass "$test" "^\\s+\\d+ forks\\s*$" + +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)" +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 ] +regexp "\\s+\\d+\\s+\\d+\\s+\(\[a-z\]+\\d+\)" $diskstats -> partition +set test "vmstat partition" +spawn $vmstat -p $partition +expect_pass "$test" "^${partition}\\s+reads" +#\\s+read sectors\\s+writes\\s+requested writes" +#\(\\s+\\d+\){4}\\s*$"