[U-Boot] buildman: display list of boards with warnings/errors during build?

Albert ARIBAUD albert.u.boot at aribaud.net
Wed Oct 15 18:30:10 CEST 2014


Hi Simon,

On Wed, 15 Oct 2014 14:44:06 +0200, Simon Glass <sjg at chromium.org>
wrote:

> Hi Albert,
> 
> On 15 October 2014 12:17, Albert ARIBAUD <albert.u.boot at aribaud.net> wrote:
> > Hi Simon,
> >
> > On Wed, 15 Oct 2014 09:24:34 +0200, Simon Glass <sjg at chromium.org>
> > wrote:
> >
> >> Hi Albert,
> >>
> >> On 15 October 2014 08:28, Albert ARIBAUD <albert.u.boot at aribaud.net> wrote:
> >> > Hello,
> >> >
> >> > Apologies if I have missed the answer to my question in
> >> > tools/buildman/README or the buildman -h output.
> >>
> >> Also -H which gives the full README.
> >>
> >> >
> >> > When buildman runs on a large set of boards (such as when I run
> >> > 'tools/buildman/buildman -k aarch64 arm') it shows a summary of how
> >> > many boards so far have built fine, built with warnings and built with
> >> > errors, which is good, and a list of notes, warnings and errors emitted
> >> > by the compiler so far, which is good when building branches. But when
> >> > building architectures, as I do, I would prefer that buildman just list
> >> > the boards that have failed clean building (and list them again when
> >> > invoked with -s)
> >> >
> >> > Did I just miss the option or option combination which produces this,
> >> > or should I go and patch buildman to add such an option?
> >>
> >> Does -l do what you want?
> >
> > Not exactly: -l does list the failing boards, but it does so as
> > they are found, mixing the warning and error cases. MAKEALL lists them
> > at the end, in a summary, where all boards with warning are listed
> > together and so are all boards with errors. I don't mind getting the
> > list displayed before the end, for instance each time a new board
> > fails, but I really would like it to be grouped by failure type
> > (warning or error) and ideally, sorted in alphabetical board name order.
> >
> > Also, -l apparently does not prevent all notes, warnings and error
> > diagnostics from being emitted by the compiler during builds.
> >
> > Plus, with -l, there seems to be a weird bug whereby a single board gets
> > listed a bazillion times for a warning.
> >
> > To make things easier, I have pushed the commit I am using with
> > buildman as branch "buildman_test" on u-boot-arm, and here is the
> > command line I use, without -l:
> >
> >         tools/buildman/buildman -o build -k odroid apalis_t30
> >         tricorder_flash tricorder edminiv2 wireless_space
> >
> > And with -l
> >
> >         tools/buildman/buildman -o build -k odroid apalis_t30
> >         tricorder_flash tricorder edminiv2 wireless_space -l
> >
> > The first four boards have warnings or errors (the last two ones are
> > just added as known guild build cases) with gcc version 4.8.2
> > (Ubuntu/Linaro 4.8.2-16ubuntu4).
> 
> OK I see. I think this is a bit wrong at the moment - I pushed a few
> patches to u-boot-x86 in branch 'buildman' for you to try.

The commit to fix -l works.

The commit to preselect -e only when not in summary mode does not
exactly match what I would like, because I want to hide compiler
diagnostics in summary mode as well as in non-summary mode. IOW, when I
build all of arm+aarch64 I am primarily looking at the list of boards
which fail, not (at this point) at the reason why they do; this I can
find later by looking at the err files.

I guess removing entirely the 'options.show_errors = True' statement
would be better, and anyway, I see one problem in automatically setting
it True despite -e not being specified on the command line: in that
case, the user has no way to set it back to False on the command line.

On the other hand, removing the automatic setting of -e from the
non-branch case causes a call to buildman to just produce the failing
board names, which is close enough to what I want:

$ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
tricorder edminiv2 wireless_space   
Building current source for 6 boards (6 threads, 2 jobs per thread)
       arm: +   odroid                            
       arm: +   apalis_t30                
       arm: +   tricorder_flash               
       arm: +   tricorder                          
    2    1    3 /6      0:00:05  : tricorder 
$

$ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
tricorder edminiv2 wireless_space -s

$ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
tricorder edminiv2 wireless_space -s
boards.cfg is up to date. Nothing to do.
Summary of current source for 6 boards (6 threads, 2 jobs per thread)
       arm: +   tricorder tricorder_flash odroid apalis_t30
$

$ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
tricorder edminiv2 wireless_space -s -e
boards.cfg is up to date. Nothing to do.
Summary of current source for 6 boards (6 threads, 2 jobs per thread)
       arm: +   tricorder tricorder_flash odroid apalis_t30
[awful lots of notes, warnings, errors]
$

Would it be ok to remove 'options.show_errors = True' altogether in the
non-branch case?

> Regards,
> Simon

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list