[gcc r14-9393] contrib: Improve dg-extract-results.sh's Python detection [PR109668]

Jakub Jelinek jakub@gcc.gnu.org
Fri Mar 8 14:27:34 GMT 2024


https://gcc.gnu.org/g:64273a7e6bd8ba60058174d147521dd65d705637

commit r14-9393-g64273a7e6bd8ba60058174d147521dd65d705637
Author: Sam James <sam@gentoo.org>
Date:   Fri Mar 8 15:24:20 2024 +0100

    contrib: Improve dg-extract-results.sh's Python detection [PR109668]
    
    'python' on some systems (e.g. SLES 15) might be Python 2. Prefer python3,
    then python, then python2 (as the script still tries to work there).
    
            PR other/109668
            * dg-extract-results.sh: Check for python3 before python. Check for
            python2 last.

Diff:
---
 contrib/dg-extract-results.sh | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/contrib/dg-extract-results.sh b/contrib/dg-extract-results.sh
index 00ef80046f7..539d596a89d 100755
--- a/contrib/dg-extract-results.sh
+++ b/contrib/dg-extract-results.sh
@@ -28,14 +28,17 @@
 
 PROGNAME=dg-extract-results.sh
 
-# Try to use the python version if possible, since it tends to be faster.
+# Try to use the python version if possible, since it tends to be faster and
+# produces more stable results.
 PYTHON_VER=`echo "$0" | sed 's/sh$/py/'`
-if test "$PYTHON_VER" != "$0" &&
-   test -f "$PYTHON_VER" &&
-   python -c 'import sys, getopt, re, io, datetime, operator; sys.exit (0 if sys.version_info >= (2, 6) else 1)' \
-     > /dev/null 2> /dev/null; then
-  exec python $PYTHON_VER "$@"
-fi
+for python in python3 python python2 ; do
+  if test "$PYTHON_VER" != "$0" &&
+     test -f "$PYTHON_VER" &&
+     ${python} -c 'import sys, getopt, re, io, datetime, operator; sys.exit (0 if sys.version_info >= (2, 6) else 1)' \
+       > /dev/null 2> /dev/null; then
+    exec ${python} $PYTHON_VER "$@"
+  fi
+done
 
 usage() {
   cat <<EOF >&2


More information about the Gcc-cvs mailing list