[PATCH 01/12] tests: check /proc availability, and go-around if it is incomplete

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Unavailability of /proc is fatal for kill, and continuing with the test
in that case does not make sense as it will only mean false positive
errors.

Where /proc/<pid>/status file(s) does not exist the check will perform
opportunistic sleep with assumption the test_sigreceive will be ready to
be killed if it has some time to init.

CC: Ruediger Meier <sweet_f_a@xxxxxx>
Reference: https://travis-ci.org/rudimeier/util-linux/jobs/24561058
Signed-off-by: Sami Kerola <kerolasa@xxxxxx>
---
 tests/ts/kill/kill_functions.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/ts/kill/kill_functions.sh b/tests/ts/kill/kill_functions.sh
index 73fff05..a2a2483 100644
--- a/tests/ts/kill/kill_functions.sh
+++ b/tests/ts/kill/kill_functions.sh
@@ -1,3 +1,5 @@
+# kill tests, or command, will not when /proc is missing.
+test /proc || ts_skip "/proc not available"
 
 # unfortunately we are using gawk features
 type gawk >/dev/null 2>&1 || ts_skip "cannot find gawk"
@@ -8,6 +10,17 @@ function check_test_sigreceive {
 	local pid=$1
 
 	for i in 0.01 0.1 1 1 1 1; do
+		if [ ! -f /proc/$pid/status ]; then
+			# The /proc exists, but not status file. Because
+			# the process already started it is unlikely the
+			# file would appear after any amount of waiting.
+			# Try to sleep for moment and hopefully
+			# test_sigreceive is ready to be killed.
+			echo "kill_functions.sh: /proc/$pid/status: No such file or directory"
+			sleep 2
+			rc=1
+			break
+		fi
 		gawk 'BEGIN { retval=1 }
 		/^SigCgt/ {
 			lbyte = strtonum("0x" substr($2, 16, 16))
-- 
1.9.2

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux