procps/testsuite/pmap.test/pmap.exp
Jim Warner f85439e42d pmap: restore a proper response when arguments missing
Ever since pmap was refactored via the reference below
(and sprinkled with those damn tabs), the response for
the absence of any argument has been an error message.

This patch restores the proper behavior ('usage' text)
and updates the dejagnu 'no arguments' expect pattern.

Reference(s):
commit d50884788d

Signed-off-by: Jim Warner <james.warner@comcast.net>
2013-03-18 18:42:07 +01:00

69 lines
2.4 KiB
Plaintext

#
# Dejagnu tests for pgrep - part of procps
#
set pmap "${topdir}pmap"
set mypid [pid]
set pmap_procname "${mypid}:\\s+\\S+\[^\\r\]+\\s+"
set pmap_initname "1:\\s+\\S+\[^\\r\]+\\s+"
set pmap_std_header $pmap_procname
set pmap_device_header "${pmap_procname}Address\\s+Kbytes\\s+Mode\\s+Offset\\s+Device\\s+Mapping\\s+"
set pmap_ext_header "${pmap_procname}Address\\s+Kbytes\\s+RSS\\s+Dirty\\s+Mode\\s+Mapping\\s+"
set pmap_generic_header "${pmap_procname}\\s+\(?:\[A-Z\]\[a-z\]+ +\)+"
set pmap_std_items "\(\[0-9a-f\]+\\s+\\d+K \[rwx-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
set pmap_device_items "\(\[0-9a-f\]+\\s+\\d+ \[rwx-\]{5}\\s+\[0-9a-f\]+\\s+\[0-9a-f\]{3}:\[0-9a-f\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
set pmap_ext_items "\(\[0-9a-f\]+\\s+\\d+\\s+\\d+\\s+\\d+ \[rwx-\]{5}\\s+\\S+\[^\\r\]+\\s*\)+"
set pmap_std_footer "total\\s+\\d+K\\s*\$"
set pmap_device_footer "mapped:\\s+\\d+K\\s+writeable\/private:\\s+\\d+K\\s+shared:\\s+\\d+K\\s*\$"
set pmap_ext_footer "\[ -\]+\\s+total kB\\s+\\d+(\\s+\[\\d-\]+){2,3}\\s*\$"
set test "pmap with no arguments"
spawn $pmap
#expect_pass "$test" "^\(lt-\)\?pmap: argument missing"
expect_pass "$test" "Usage:\\s+\(lt-\)?pmap \\\[options\\\] pid \\\[pid \.\.\.\\\]"
set test "pmap standard output"
spawn $pmap $mypid
expect_table $test $pmap_std_header $pmap_std_items $pmap_std_footer
set test "pmap standard output with quiet"
spawn $pmap -q $mypid
expect_table $test $pmap_procname $pmap_std_items "\$"
set test "pmap device output"
spawn $pmap -d $mypid
expect_table $test $pmap_device_header $pmap_device_items $pmap_device_footer
set test "pmap device output quiet (dq)"
spawn $pmap -dq $mypid
expect_table $test $pmap_procname $pmap_device_items "\$"
set test "pmap device output quiet (qd)"
spawn $pmap -qd $mypid
expect_table $test $pmap_procname $pmap_device_items "\$"
set test "pmap extended output"
spawn $pmap -x $mypid
expect_table $test $pmap_ext_header $pmap_ext_items $pmap_ext_footer
# -X and -XX have no real format as its dependent on smaps
set test "pmap extra extended output"
spawn $pmap -X $mypid
expect_table $test $pmap_generic_header ".+" "\[= \]+"
set test "pmap double extra extended output"
spawn $pmap -XX $mypid
expect_table $test $pmap_generic_header ".+" "\[= \]+"
set test "pmap X with unreachable process"
spawn $pmap -X 1
expect_pass $test "$pmap_initname\$"
set test "pmap XX with unreachable process"
spawn $pmap -XX 1
expect_pass $test "$pmap_initname\$"