[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,
                 '../../build-sandbox_spl/scripts/dtc/pylibfdt'))
 
+# 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.
+sys.path.append(get_python_lib())
+
 import cmdline
 import command
 use_concurrent = True
-- 
2.22.0.410.gd8fdbe21b5-goog



More information about the U-Boot mailing list