From: Simon Glass Date: Tue, 14 May 2019 21:53:38 +0000 (-0600) Subject: binman: Don't show errors for failed tests X-Git-Tag: v2019.10-rc1~32^2~70 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=35343dc41493666261e37a8a559b78eb2841a528;p=oweals%2Fu-boot.git binman: Don't show errors for failed tests An unfortunate new feature in Python 3.5 causes binman to print errors for non-existent tests, when the test filter is used. Work around this by detecting the unwanted tests and removing them from the result. Signed-off-by: Simon Glass --- diff --git a/tools/binman/binman.py b/tools/binman/binman.py index 4206d2b0e3..aad2e9c8bc 100755 --- a/tools/binman/binman.py +++ b/tools/binman/binman.py @@ -87,6 +87,18 @@ def RunTests(debug, processes, args): else: suite.run(result) + # Remove errors which just indicate a missing test. Since Python v3.5 If an + # ImportError or AttributeError occurs while traversing name then a + # synthetic test that raises that error when run will be returned. These + # errors are included in the errors accumulated by result.errors. + if test_name: + errors = [] + for test, err in result.errors: + if ("has no attribute '%s'" % test_name) not in err: + errors.append((test, err)) + result.testsRun -= 1 + result.errors = errors + print(result) for test, err in result.errors: print(test.id(), err)