9c5397a941
Created a test process test_shm that allocates a shared memory segment and prints the segment ID. pmap testsuite runs pmap to check that the segment is found. The value returned by shmget() is the same value that is printed in the fifth column /proc/<PID>/maps Signed-off-by: Craig Small <csmall@dropbear.xyz>
74 lines
2.5 KiB
Plaintext
74 lines
2.5 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\$"
|
|
|
|
set test "pmap finding shm"
|
|
make_testshm_proc
|
|
spawn $pmap $testshmproc_pid
|
|
expect_pass $test "\[ shmid=0x$shmid \]"
|
|
kill_testshm_proc
|