tests: Fix Python detection.
authorJustus Winter <justus@g10code.com>
Mon, 24 Apr 2017 15:32:41 +0000 (17:32 +0200)
committerJustus Winter <justus@g10code.com>
Mon, 24 Apr 2017 15:32:41 +0000 (17:32 +0200)
* tests/gpgme/gpgme-defs.scm (python): Fix Python detection.
--
In 25e6444b3f4601c7821beab06bc4520deacb007b we changed the way GPGME
creates the build directory for the Python bindings.  We now use the
basename of the interpreter as an identifier, that means we have to
get the base name right, a link to the same binary is not sufficient.

Signed-off-by: Justus Winter <justus@g10code.com>
tests/gpgme/gpgme-defs.scm

index 690d097..a74a174 100644 (file)
             (expand-one (append acc (list (car v))) (cdr v))))))
        values)))
 
-(define python (catch #f
-                     (path-expand "python" (string-split (getenv "PATH") *pathsep*))))
+(define python
+  (let loop ((pythons (list "python" "python2" "python3")))
+    (if (null? pythons)
+       #f
+       (catch (loop (cdr pythons))
+              (unless (file-exists? (path-join gpgme-builddir "lang" "python"
+                                               (string-append (car pythons) "-gpg")))
+                      (throw "next please"))
+              (path-expand (car pythons) (string-split (getenv "PATH") *pathsep*))))))
+
 (define (run-python-tests?)
-  (and python
-       (let* ((python-version
-              (string-trim char-whitespace?
-                           (call-popen `(,python -c "import sys; print('{0}.{1}'.format(sys.version_info[0], sys.version_info[1]))") "")))
-             (build-path (path-join gpgme-builddir "lang" "python"
-                                    (string-append "python" python-version "-gpg"))))
-        (file-exists? build-path))))
+  (not (not python)))