[U-Boot] [PATCH 17/37] binman: Ensure that coverage has access to site packages

Simon Glass sjg at chromium.org
Fri Jun 28 14:08:59 UTC 2019

Code coverage tests fail on binman due to dist-packages being dropped from
the python path on Ubuntu 16.04. Add them in so that we can find the
elffile module, which is required by binman.

Signed-off-by: Simon Glass <sjg at chromium.org>

 tools/binman/binman.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/binman/binman.py b/tools/binman/binman.py
index 9f8c5c99b79..05aeaecd8f3 100755
--- a/tools/binman/binman.py
+++ b/tools/binman/binman.py
@@ -11,9 +11,11 @@
 from __future__ import print_function
+from distutils.sysconfig import get_python_lib
 import glob
 import multiprocessing
 import os
+import site
 import sys
 import traceback
 import unittest
@@ -28,6 +30,12 @@ sys.path.insert(0, 'scripts/dtc/pylibfdt')
 sys.path.insert(0, os.path.join(our_path,
+# When running under python-coverage on Ubuntu 16.04, the dist-packages
+# directories are dropped from the python path. Add them in so that we can find
+# the elffile module. We could use site.getsitepackages() here but unfortunately
+# that is not available in a virtualenv.
 import cmdline
 import command
 use_concurrent = True

More information about the U-Boot mailing list