From: Albert ARIBAUD Date: Wed, 15 Oct 2014 18:30:10 +0200 Subject: [U-Boot] buildman: display list of boards with warnings/errors during build? In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Simon, On Wed, 15 Oct 2014 14:44:06 +0200, Simon Glass wrote: > Hi Albert, > > On 15 October 2014 12:17, Albert ARIBAUD wrote: > > Hi Simon, > > > > On Wed, 15 Oct 2014 09:24:34 +0200, Simon Glass > > wrote: > > > >> Hi Albert, > >> > >> On 15 October 2014 08:28, Albert ARIBAUD 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.