All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH] lsmod01.sh: retry test couple times to lower false positives
@ 2019-10-18 10:05 Jan Stancek
  2019-10-18 13:23 ` Petr Vorel
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Jan Stancek @ 2019-10-18 10:05 UTC (permalink / raw)
  To: ltp

Test sporadically fails with:
  lsmod01 1 TFAIL: lsmod output different from /proc/modules.
  36c36
  < loop 42057 2
  ---
  > loop 42057 1

commands runtest file runs mkswap01 before this test. That test is
using loop device, and udev is presumably still holding a reference
by the time lsmod01 test starts.

Repeat the test couple times to avoid racing with rest of the system.

Signed-off-by: Jan Stancek <jstancek@redhat.com>
---
 testcases/commands/lsmod/lsmod01.sh | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/testcases/commands/lsmod/lsmod01.sh b/testcases/commands/lsmod/lsmod01.sh
index ad170dcd41b8..38ba8e0c94ad 100755
--- a/testcases/commands/lsmod/lsmod01.sh
+++ b/testcases/commands/lsmod/lsmod01.sh
@@ -10,31 +10,41 @@ TST_NEEDS_TMPDIR=1
 TST_NEEDS_CMDS="lsmod"
 . tst_test.sh
 
-lsmod_test()
+lsmod_matches_proc_modules()
 {
 	lsmod_output=$(lsmod | awk '!/Module/{print $1, $2, $3}' | sort)
 	if [ -z "$lsmod_output" ]; then
-		tst_res TFAIL "Failed to parse the output from lsmod"
-		return
+		tst_brk TBROK "Failed to parse the output from lsmod"
 	fi
 
-	modules_output=$(awk '{print $1, $2, $3}' /proc/modules | sort)
+	modules_output=$(awk '{print $1, $2, $3} 1' /proc/modules | sort)
 	if [ -z "$modules_output" ]; then
-		tst_res TFAIL "Failed to parse /proc/modules"
-		return
+		tst_brk TBROK "Failed to parse /proc/modules"
 	fi
 
 	if [ "$lsmod_output" != "$modules_output" ]; then
-		tst_res TFAIL "lsmod output different from /proc/modules."
+		tst_res TINFO "lsmod output different from /proc/modules."
 
 		echo "$lsmod_output" > temp1
 		echo "$modules_output" > temp2
 		diff temp1 temp2
 
-		return
+		return 1
 	fi
+	return 0
+}
 
-	tst_res TPASS "'lsmod' passed."
+lsmod_test()
+{
+	for i in $(seq 1 5); do
+		if lsmod_matches_proc_modules; then
+			tst_res TPASS "'lsmod' passed."
+			return
+		fi
+		tst_res TINFO "Trying again"
+		sleep 1
+	done
+	tst_res TFAIL "'lsmod' doesn't match /proc/modules output"
 }
 
 tst_run
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-10-24  7:49 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18 10:05 [LTP] [PATCH] lsmod01.sh: retry test couple times to lower false positives Jan Stancek
2019-10-18 13:23 ` Petr Vorel
2019-10-18 13:27   ` Jan Stancek
2019-10-18 13:45 ` Petr Vorel
2019-10-22  7:10   ` Jan Stancek
2019-10-23 12:19 ` Petr Vorel
2019-10-23 13:28   ` Jan Stancek
2019-10-23 18:28     ` Petr Vorel
2019-10-24  4:47       ` Li Wang
2019-10-24  7:49         ` Petr Vorel
2019-10-24  7:12       ` Jan Stancek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.