Re: [PATCH v2 0/3] selftests/nolibc: improve test report support

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

 



> Hi Zhangjin,
> 
> On Mon, Jun 19, 2023 at 02:52:31PM +0800, Zhangjin Wu wrote:
> > Hi, Willy
> > 
> > Here is the v2 of our old patchset about test report [1].
> > 
> > The trailing '\r' fixup has been merged, so, here only resend the left
> > parts with an additional patch to restore the failed tests print.
> > 
> > This patchset is rebased on the dev.2023.06.14a	branch of linux-rcu [2].
> > 
> > Tests have passed for 'x86 run':
> > 
> >     138 test(s) passed, 0 skipped, 0 failed.
> >     See all results in /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/run.out
> (...)
> > 2. selftests/nolibc: always print the path to test log file
> > 
> >   Always print the path to test log file, but move it to a new line to
> >   avoid annoying people when the test pass without any failures.
> 
> I'm still really missing the (s+f > 0) test I added which was a time saver
> for me, because I could trivially check in the output reports which ones
> were totally OK and which ones required attention. Sure I could also start
> to grep for "passed," | grep -v " 0 skipped, 0 failed" but that's quite a
> pain, really.
> 
> I'm going to merge your series anyway otherwise we'll continue to bikeshed
> for many weeks and I know how annoying it is to keep unmerged series. But
> I would like that we find a solution that satisfies everyone.
> 
> Maybe one possibility would be to add a "status" at the end of the line
> that emits "success", "warning", "failure" depending on the highest level
> reached like this:
> 
>       138 test(s) passed, 0 skipped, 0 failed => status: success
>       136 test(s) passed, 2 skipped, 0 failed => status: warning
>       136 test(s) passed, 1 skipped, 1 failed => status: failure
> 
> This way it's easy to grep -v "status: success" or grep "status: failure"
> to instantly get the corresponding details and also grep for them from
> multiple files.

Ok, it will be a further step, based on your new awk script, it is not
that hard.

This should work:

    REPORT  ?= awk '/\[OK\][\r]*$$/{p++} /\[FAIL\][\r]*$$/{f++;print} /\[SKIPPED\][\r]*$$/{s++} \
                END{ printf("\n%d test(s): %d passed, %d skipped, %d failed => status: ", p+s+f, p, s, f); \
                if (f) printf("failure\n"); else if (s) printf("warning\n"); else printf("success\n");; \
                printf("\nSee all results in %s\n", ARGV[1]); }'

It reports something like this:

    ...
    Total number of errors: 0
    Exiting with status 0

    143 test(s): 140 passed, 3 skipped, 0 failed => status: warning

    See all results in /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/build/x86/run.out

Two newlines are added around the summary line, so, it is not crowded as
before. If this is ok, will send a new patch on your new branch.

Thanks very much.

Best regards,
Zhangjin

> 
> Thanks!
> Willy



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux