[LTP] [PATCH] lsmod01.sh: retry test couple times to lower false positives

Jan Stancek
2019-10-18T13:27:36Z

----- Original Message -----
> Hi Jan,
>
> > 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>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
>
> ...
> > +++ 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)
> This is a regression. Please keep the old version (without 1).

My bad, I left it in by accident after testing.

>
>
> - modules_output=$(awk '{print $1, $2, $3} 1' /proc/modules | sort)
> + modules_output=$(awk '{print $1, $2, $3}' /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."
> nit: please remove dots at the end of messages, when you're touching that
> file.

will do

>
> The rest looks good to me.
>
> Kind regards,
> Petr
>