aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-03-17 16:14:34 -0600
committerDavid Gibson <david@gibson.dropbear.id.au>2017-03-21 16:31:13 +1100
commit756ffc4f52f6863ba8bf3a67129271566ba2000c (patch)
treee3c3b2f938e6e41d07224d429efb56f6d0e2d97a /tests
parent8cb3896358e9f70b6f742772734b038ed0d4ea19 (diff)
downloaddtc-756ffc4f52f6863ba8bf3a67129271566ba2000c.zip
dtc-756ffc4f52f6863ba8bf3a67129271566ba2000c.tar.gz
dtc-756ffc4f52f6863ba8bf3a67129271566ba2000c.tar.bz2
Build pylibfdt as part of the normal build process
If swig and the Python are available, build pylibfdt automatically. Adjust the tests to run Python tests too in this case. Signed-off-by: Simon Glass <sjg@chromium.org> [dwg: Make error message clearer that missing swig or python-dev isn't fatal to the whole build] Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/run_tests.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 0f5c3db..2a1ba44 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -771,6 +771,26 @@ fdtdump_tests () {
run_fdtdump_test fdtdump.dts
}
+pylibfdt_tests () {
+ TMP=/tmp/tests.stderr.$$
+ python pylibfdt_tests.py -v 2> $TMP
+
+ # Use the 'ok' message meaning the test passed, 'ERROR' meaning it failed
+ # and the summary line for total tests (e.g. 'Ran 17 tests in 0.002s').
+ # We could add pass + fail to get total tests, but this provides a useful
+ # sanity check.
+ pass_count=$(grep "\.\.\. ok$" $TMP | wc -l)
+ fail_count=$(grep "^ERROR: " $TMP | wc -l)
+ total_tests=$(sed -n 's/^Ran \([0-9]*\) tests.*$/\1/p' $TMP)
+ cat $TMP
+ rm $TMP
+
+ # Extract the test results and add them to our totals
+ tot_fail=$((tot_fail + $fail_count))
+ tot_pass=$((tot_pass + $pass_count))
+ tot_tests=$((tot_tests + $total_tests))
+}
+
while getopts "vt:me" ARG ; do
case $ARG in
"v")
@@ -790,6 +810,11 @@ done
if [ -z "$TESTSETS" ]; then
TESTSETS="libfdt utilfdt dtc dtbs_equal fdtget fdtput fdtdump"
+
+ # Test pylibfdt if the libfdt Python module is available.
+ if [ -f ../pylibfdt/_libfdt.so ]; then
+ TESTSETS="$TESTSETS pylibfdt"
+ fi
fi
# Make sure we don't have stale blobs lying around
@@ -818,6 +843,9 @@ for set in $TESTSETS; do
"fdtdump")
fdtdump_tests
;;
+ "pylibfdt")
+ pylibfdt_tests
+ ;;
esac
done