52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/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; 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/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_example.py Kconfiglib/examples/Kmenuconfig <<END
|
|
BOOL
|
|
n
|
|
END
|
|
if (($?)); then
|
|
echo "menuconfig_example.py failed with $py"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "everything okay"
|