tests: Honour NO_YAML make variable
Support for YAML output in dtc is optional (to cover systems that don't
have libyaml). Currently the tests for yaml output test if the libyaml
package is locally installed.
That duplicates similar logic in the Makefile, and worse it will cause
failed tests if the user explicitly disables YAML support, rather than
simply not having libyaml installed.
Fix this by having the test script use the NO_YAML variable exported by
make. Fall back to the current test if the variable isn't set, such as
when running the script manually.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 7abcb03..b0a1fc3 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -25,6 +25,20 @@
fi
fi
+if [ -n "$NO_YAML" ]; then
+ if [ "$NO_YAML" != "0" ]; then
+ no_yaml=true
+ else
+ no_yaml=false
+ fi
+else
+ if pkg-config --exists yaml-0.1; then
+ no_yaml=false
+ else
+ no_yaml=true
+ fi
+fi
+
# stat differs between platforms
if [ -z "$STATSZ" ]; then
stat --version 2>/dev/null | grep -q 'GNU'
@@ -615,7 +629,7 @@
done
# Check -Oyaml output
- if pkg-config --exists yaml-0.1; then
+ if ! $no_yaml; then
for tree in type-preservation; do
run_dtc_test -I dts -O yaml -o $tree.test.dt.yaml "$SRCDIR/$tree.dts"
run_wrap_test cmp "$SRCDIR/$tree.dt.yaml" $tree.test.dt.yaml