Message ID | 20200827110709.26824-1-mbenes@suse.cz (mailing list archive) |
---|---|
State | Accepted |
Commit | 884ee754f5aedbe54406a4d308a6cc57335747ce |
Headers | show |
Series | selftests/livepatch: Do not check order when using "comm" for dmesg checking | expand |
On Thu, Aug 27, 2020 at 01:07:09PM +0200, Miroslav Benes wrote: > check_result() uses "comm" to check expected results of selftests output > in dmesg. Everything works fine if timestamps in dmesg are unique. If > not, like in this example > > [ 86.844422] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state > [ 86.844422] livepatch: 'test_klp_callbacks_demo': starting unpatching transition > Heh, our assumption that the timestamps would provide sorting wasn't true after all. > , "comm" fails with "comm: file 2 is not in sorted order". Suppress the > order checking with --nocheck-order option. > > Signed-off-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Joe Lawrence <joe.lawrence@redhat.com> And not so important for selftests, but helpful for backporting efforts: Fixes: 2f3f651f3756 ("selftests/livepatch: Use "comm" instead of "diff" for dmesg") > --- > > The strange thing is, I can reproduce the issue easily and reliably on > older codestreams (4.12) but not on current upstream in my testing > environment. I think the change makes sense regardless though. > We haven't backported v5.8 changes just yet, so thanks for finding this one and posting a fix. -- Joe > tools/testing/selftests/livepatch/functions.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh > index 1aba83c87ad3..846c7ed71556 100644 > --- a/tools/testing/selftests/livepatch/functions.sh > +++ b/tools/testing/selftests/livepatch/functions.sh > @@ -278,7 +278,7 @@ function check_result { > # help differentiate repeated testing runs. Remove them with a > # post-comparison sed filter. > > - result=$(dmesg | comm -13 "$SAVED_DMESG" - | \ > + result=$(dmesg | comm --nocheck-order -13 "$SAVED_DMESG" - | \ > grep -e 'livepatch:' -e 'test_klp' | \ > grep -v '\(tainting\|taints\) kernel' | \ > sed 's/^\[[ 0-9.]*\] //') > -- > 2.28.0 >
On Thu, 27 Aug 2020, Joe Lawrence wrote: > > , "comm" fails with "comm: file 2 is not in sorted order". Suppress the > > order checking with --nocheck-order option. > > > > Signed-off-by: Miroslav Benes <mbenes@suse.cz> > > Acked-by: Joe Lawrence <joe.lawrence@redhat.com> > > And not so important for selftests, but helpful for backporting efforts: > > Fixes: 2f3f651f3756 ("selftests/livepatch: Use "comm" instead of "diff" for dmesg") I've added the Fixes: tag and applied to for-5.9/upstream-fixes. Thanks,
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh index 1aba83c87ad3..846c7ed71556 100644 --- a/tools/testing/selftests/livepatch/functions.sh +++ b/tools/testing/selftests/livepatch/functions.sh @@ -278,7 +278,7 @@ function check_result { # help differentiate repeated testing runs. Remove them with a # post-comparison sed filter. - result=$(dmesg | comm -13 "$SAVED_DMESG" - | \ + result=$(dmesg | comm --nocheck-order -13 "$SAVED_DMESG" - | \ grep -e 'livepatch:' -e 'test_klp' | \ grep -v '\(tainting\|taints\) kernel' | \ sed 's/^\[[ 0-9.]*\] //')
check_result() uses "comm" to check expected results of selftests output in dmesg. Everything works fine if timestamps in dmesg are unique. If not, like in this example [ 86.844422] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 86.844422] livepatch: 'test_klp_callbacks_demo': starting unpatching transition , "comm" fails with "comm: file 2 is not in sorted order". Suppress the order checking with --nocheck-order option. Signed-off-by: Miroslav Benes <mbenes@suse.cz> --- The strange thing is, I can reproduce the issue easily and reliably on older codestreams (4.12) but not on current upstream in my testing environment. I think the change makes sense regardless though. tools/testing/selftests/livepatch/functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)