[U-Boot] [RFC][DO NOT APPLY] binman: Switch to 'python-coverage'

Tom Rini trini at konsulko.com
Fri Jun 1 17:36:40 UTC 2018


On Fri, Jun 01, 2018 at 08:27:03AM -0600, Simon Glass wrote:

> Hi Tom,
> 
> On 26 May 2018 at 11:06, Tom Rini <trini at konsulko.com> wrote:
> > The most portable way to get access to coverage is to invoke it as
> > 'python-coverage'.
> >
> > Cc: Simon Glass <sjg at chromium.org>
> > Signed-off-by: Tom Rini <trini at konsulko.com>
> > ---
> > So, here's the set of problems I have.  First, running 'pip install
> > coverage' doesn't get me a 'coverage' binary, so I've just never made
> > good use of 'make tests' and so never have these run.  It also means
> > they aren't strictly in travis-ci, so they're never run automatically.
> > With this patch, make tests executes for me, and now fails noting that a
> > lot of things don't have coverage.  I'm honestly not sure what the best
> > path forward here is.
> > ---
> >  tools/binman/README    | 3 +--
> >  tools/binman/binman.py | 4 ++--
> >  2 files changed, 3 insertions(+), 4 deletions(-)
> >
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> 
> For me this patch works fine. The -T option works correctly.
> 
> Typing 'python-coverage html' produces this report:
> 
> https://pste.eu/p/NI7q.html
> 
> Note that your patch needs to update this line too:
> 
>         print "Type 'coverage html' to get a report in htmlcov/index.html"
> 
> Can you send me the output you see?

So, I need to amend this a bit.  On my Docker-based ubuntu 16.04 setup,
I see as non-fatal (and not coverage related, but binman test):
<unittest.result.TestResult run=79 errors=0 failures=0>
<unittest.result.TestResult run=11 errors=0 failures=4>
Traceback (most recent call last):
  File "/home/trini/work/u-boot/u-boot/tools/patman/test.py", line 218, in testGood
    self.assertEqual(result.ok, True)
AssertionError: False != True

Traceback (most recent call last):
  File "/home/trini/work/u-boot/u-boot/tools/patman/test.py", line 252, in testIndent
    self.assertEqual(len(result.problems), 1)
AssertionError: 2 != 1

Traceback (most recent call last):
  File "/home/trini/work/u-boot/u-boot/tools/patman/test.py", line 230, in testNoSignoff
    self.assertEqual(len(result.problems), 1)
AssertionError: 2 != 1

Traceback (most recent call last):
  File "/home/trini/work/u-boot/u-boot/tools/patman/test.py", line 241, in testSpaces
    self.assertEqual(len(result.problems), 3)
AssertionError: 4 != 3

Checking: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/7.3.0/
<unittest.result.TestResult run=35 errors=0 failures=1>
Traceback (most recent call last):
  File "/home/trini/work/u-boot/u-boot/tools/buildman/test.py", line 426, in testToolchainDownload
    self.toolchains.LocateArchUrl('arm'))
AssertionError: 'https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/x86_64-gcc-4.9.0-nolibc_arm-unknown-linux-gnueabi.tar.xz' != 'https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/7.3.0/x86_64-gcc-7.3.0-nolibc_arm-linux-gnueabi.tar.xz'

<unittest.result.TestResult run=12 errors=0 failures=0>
<unittest.result.TestResult run=79 errors=0 failures=0>

And then the coverage part works fine.  With the changes in this RFC
patch so that my desktop itself could run coverage stuff I also see:
Missing tests for u_boot_with_ucode_ptr.py, u_boot_spl_bss_pad.py, entry.py, u_boot_spl.py, u_boot_spl_with_ucode_ptr.py, u_boot_spl_dtb.py, u_boot_img.py, intel_vbt.py, u_boot_dtb.py, intel_vga.py, intel_descriptor.py, u_boot_dtb_with_ucode.py, intel_cmc.py, x86_start16.py, u_boot_nodtb.py, u_boot.py, intel_fsp.py, blob.py, intel_mrc.py, u_boot_spl_nodtb.py, u_boot_ucode.py, x86_start16_spl.py, intel_me.py
ValueError: Test coverage failure
Tests FAILED
Makefile:1710: recipe for target 'tests' failed
make: *** [tests] Error 1

So I guess there's something wrong with trying to use coverage this way,
rather than via pip.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180601/062c09c2/attachment.sig>


More information about the U-Boot mailing list