You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.8 KiB
48 lines
1.8 KiB
8 years ago
|
https://bugs.gentoo.org/583036
|
||
|
http://www.freelists.org/post/procps/Patch-Test-suite-fails-if-procpidsmaps-is-absent,1
|
||
|
|
||
|
From: tobbs@opentrash.com
|
||
|
To: procps@freelists.org
|
||
|
Date: Sun, 11 Sep 2016 15:01:29 +0200
|
||
|
Subject: [procps] [Patch] Test suite fails if /proc/<pid>/smaps is absent
|
||
|
Message-Id: <20160911130129.9A8B3322A81@astra4649.startdedicated.de>
|
||
|
|
||
|
Summary: Some Linux systems do not have /proc/<pid>/smaps, hence the test
|
||
|
suite fails. Attached a patch to skip tests in that case it.
|
||
|
|
||
|
When pmap is called with either -c, -x, or -x it tries to read
|
||
|
/proc/<pid>/smaps (pmap.c, l. 540). If not present it exits.
|
||
|
The file /proc/<pid>/smaps exits on Linux systems only if the kernel is
|
||
|
compiled with the option CONFIG_PROC_PAGE_MONITOR (see man page proc(5)).
|
||
|
|
||
|
In the test suite some tests check the output of pmap -X et al, but they
|
||
|
fail if /proc/<pid>/smaps is not present, because pmap does not produce
|
||
|
their expected output.
|
||
|
|
||
|
Attached a patch which checks if /proc/<pid>/smaps exits, if not it
|
||
|
skipps the test related to it.
|
||
|
|
||
|
Note: It is unclear what the 'expected' behaviour/output of pmap should
|
||
|
be if the file /proc/<pid>/smaps is not present. Maybe add an additional
|
||
|
test to check the return code if /proc/<pid>/smaps is absent.
|
||
|
|
||
|
--- a/testsuite/pmap.test/pmap.exp
|
||
|
+++ b/testsuite/pmap.test/pmap.exp
|
||
|
@@ -45,6 +45,11 @@
|
||
|
spawn $pmap -qd $mypid
|
||
|
expect_table $test $pmap_procname $pmap_device_items "\$"
|
||
|
|
||
|
+if { [ file readable "/proc/self/smaps" ] == 0 } {
|
||
|
+ unsupported "Skipping test which require pmap to access /proc/<pid>/smaps, because kernel seems to be compiled without CONFIG_PROC_PAGE_MONITOR."
|
||
|
+
|
||
|
+} else {
|
||
|
+
|
||
|
set test "pmap extended output"
|
||
|
spawn $pmap -x $mypid
|
||
|
expect_table $test $pmap_ext_header $pmap_ext_items $pmap_ext_footer
|
||
|
@@ -66,3 +71,4 @@
|
||
|
spawn $pmap -XX 1
|
||
|
expect_pass $test "$pmap_initname\$"
|
||
|
|
||
|
+}
|