mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 18:41:23 +00:00
selftests/nolibc: run-tests.sh: enable testing via qemu-user
qemu-user is faster than a full system test. Link: https://lore.kernel.org/r/20770915-nolibc-run-user-v1-2-3caec61726dc@weissschuh.net Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
This commit is contained in:
parent
d7233e2b75
commit
8bcf9a4855
@ -14,9 +14,10 @@ cache_dir="${XDG_CACHE_HOME:-"$HOME"/.cache}"
|
||||
download_location="${cache_dir}/crosstools/"
|
||||
build_location="$(realpath "${cache_dir}"/nolibc-tests/)"
|
||||
perform_download=0
|
||||
test_mode=system
|
||||
archs="i386 x86_64 arm64 arm mips32le mips32be ppc ppc64 ppc64le riscv s390 loongarch"
|
||||
|
||||
TEMP=$(getopt -o 'j:d:c:b:a:ph' -n "$0" -- "$@")
|
||||
TEMP=$(getopt -o 'j:d:c:b:a:m:ph' -n "$0" -- "$@")
|
||||
|
||||
eval set -- "$TEMP"
|
||||
unset TEMP
|
||||
@ -38,6 +39,7 @@ Options:
|
||||
-c [VERSION] Version of toolchains to use (default: ${crosstool_version})
|
||||
-a [ARCH] Host architecture of toolchains to use (default: ${hostarch})
|
||||
-b [DIR] Build location (default: ${build_location})
|
||||
-m [MODE] Test mode user/system (default: ${test_mode})
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -61,6 +63,9 @@ while true; do
|
||||
'-b')
|
||||
build_location="$(realpath "$2")"
|
||||
shift 2; continue ;;
|
||||
'-m')
|
||||
test_mode="$2"
|
||||
shift 2; continue ;;
|
||||
'-h')
|
||||
print_usage
|
||||
exit 0
|
||||
@ -133,11 +138,22 @@ test_arch() {
|
||||
MAKE=(make -j"${nproc}" XARCH="${arch}" CROSS_COMPILE="${cross_compile}" O="${build_dir}")
|
||||
|
||||
mkdir -p "$build_dir"
|
||||
if [ ! -f "${build_dir}/.config" ]; then
|
||||
if [ "$test_mode" = "system" ] && [ ! -f "${build_dir}/.config" ]; then
|
||||
swallow_output "${MAKE[@]}" defconfig
|
||||
fi
|
||||
case "$test_mode" in
|
||||
'system')
|
||||
test_target=run
|
||||
;;
|
||||
'user')
|
||||
test_target=run-user
|
||||
;;
|
||||
*)
|
||||
echo "Unknown mode $test_mode"
|
||||
exit 1
|
||||
esac
|
||||
printf '%-15s' "$arch:"
|
||||
swallow_output "${MAKE[@]}" run V=1
|
||||
swallow_output "${MAKE[@]}" "$test_target" V=1
|
||||
cp run.out run.out."${arch}"
|
||||
"${MAKE[@]}" report | grep passed
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user