summaryrefslogtreecommitdiff
path: root/tests/reltest
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-11-09 11:43:13 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2017-11-09 11:43:13 +0100
commit395c2db0e9761def8eb992e3e8068ba2d3ab179c (patch)
tree7b14ac791dbf9d4b9354f1c6149444e090068309 /tests/reltest
parent8c978ee0b9c0f7f8406f58d24478a73330512056 (diff)
parent4bffd653148d6fa1c8e626872ae4f445e2b0a24c (diff)
Make Kconfiglib 2 official
Merge in the 'kconfiglib-2-backup' branch.
Diffstat (limited to 'tests/reltest')
-rwxr-xr-xtests/reltest52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/reltest b/tests/reltest
new file mode 100755
index 0000000..dea0137
--- /dev/null
+++ b/tests/reltest
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+# Runs the test suite and all examples scripts with Python 2 and Python 3,
+# bailing immediately if anything fails. For the examples that aren't tested in
+# the test suite, we just confirm that they at least run.
+#
+# Should be run from the kernel root with $ Kconfiglib/tests/reltest
+
+test_script() {
+ echo -e "\n================= $1 with $py =================\n"
+ if (($# == 1)); then
+ make scriptconfig PYTHONCMD=$py SCRIPT=$1
+ else
+ make scriptconfig PYTHONCMD=$py SCRIPT=$1 SCRIPT_ARG="$2"
+ fi
+
+ if (($?)); then
+ echo "$1 failed to run with $py"
+ exit 1
+ fi
+}
+
+for py in python2 python3; do
+ echo -e "\n================= Test suite with $py =================\n"
+
+ if ! $py Kconfiglib/testsuite.py speedy; then
+ echo "test suite failed for $py"
+ exit 1
+ fi
+
+ # Check that the example scripts that aren't tested by the test suite run
+ # at least
+
+ test_script Kconfiglib/examples/defconfig_oldconfig.py
+ test_script Kconfiglib/examples/defconfig.py
+ test_script Kconfiglib/examples/eval_expr.py MODULES
+ test_script Kconfiglib/examples/find_symbol.py X86
+ test_script Kconfiglib/examples/help_grep.py general
+ test_script Kconfiglib/examples/print_sym_info.py MODULES
+ test_script Kconfiglib/examples/print_tree.py
+
+ $py Kconfiglib/examples/menuconfig.py Kconfiglib/examples/Kmenuconfig <<END
+BOOL
+n
+END
+ if (($?)); then
+ echo "menuconfig.py failed with $py"
+ exit 1
+ fi
+done
+
+echo "everything okay"