From c69719fcadbc856db5348fd3401e65e38c10a22e Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Wed, 18 Sep 2019 10:50:05 +0200 Subject: [PATCH] iotests: Require Python 3.6 or later MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Running iotests is not required to build QEMU, so we can have stricter version requirements for Python here and can make use of new features and drop compatibility code earlier. This makes qemu-iotests skip all Python tests if a Python version before 3.6 is used for the build. Suggested-by: Eduardo Habkost Signed-off-by: Kevin Wolf Reviewed-by: Eduardo Habkost Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/check | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index 875399d79f..588c453a94 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -633,6 +633,12 @@ then export SOCKET_SCM_HELPER="$build_iotests/socket_scm_helper" fi +python_usable=false +if $PYTHON -c 'import sys; sys.exit(0 if sys.version_info >= (3,6) else 1)' +then + python_usable=true +fi + default_machine=$($QEMU_PROG -machine help | sed -n '/(default)/ s/ .*//p') default_alias_machine=$($QEMU_PROG -machine help | \ sed -n "/(alias of $default_machine)/ { s/ .*//p; q; }") @@ -809,7 +815,12 @@ do start=$(_wallclock) if [ "$(head -n 1 "$source_iotests/$seq")" == "#!/usr/bin/env python" ]; then - run_command="$PYTHON $seq" + if $python_usable; then + run_command="$PYTHON $seq" + else + run_command="false" + echo "Unsupported Python version" > $seq.notrun + fi else run_command="./$seq" fi -- 2.11.0