1b63eb8671
The change in pmap is necessary if it happens that the whole output of pmap -X or -XX has been done before the second regexp is matched. Since the matching is greedy, it is matched by the full output, so that nothing is left for the third regexp and the test fails with FAIL: extra extended output (footer). Reference: http://comments.gmane.org/gmane.linux.lfs.devel/13961 Signed-off-by: Craig Small <csmall@enc.com.au>
69 lines
2.4 KiB
Plaintext
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\$"
|
|
|