tests: Skip Python tests if the bindings are not built.
authorJustus Winter <justus@g10code.com>
Tue, 14 Mar 2017 11:45:29 +0000 (12:45 +0100)
committerJustus Winter <justus@g10code.com>
Tue, 14 Mar 2017 11:45:29 +0000 (12:45 +0100)
* tests/gpgme/wrap.scm (python): Move variable...
* tests/gpgme/gpgme-defs.scm (python): ... here.
(run-python-tests?): New function.
* tests/gpgme/run-tests.scm: Only run Python tests if the bindings can
be located in GPGME's build directory.

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

index 12e033c..2b104f2 100644 (file)
            (else
             (expand-one (append acc (list (car v))) (cdr v))))))
        values)))
            (else
             (expand-one (append acc (list (car v))) (cdr v))))))
        values)))
+
+(define python (catch #f
+                     (path-expand "python" (string-split (getenv "PATH") *pathsep*))))
+(define (run-python-tests?)
+  (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"))))
+    (trace (file-exists? (trace build-path)))))
index 72de495..be70f17 100644 (file)
@@ -71,5 +71,7 @@
                             -- ,@(:path cmpnts))))
                  (if (null? tests) (all-tests makefile (:key cmpnts)) tests))))
         `((("tests" "gpg") "c_tests" ,setup-c)
                             -- ,@(:path cmpnts))))
                  (if (null? tests) (all-tests makefile (:key cmpnts)) tests))))
         `((("tests" "gpg") "c_tests" ,setup-c)
-          (("lang" "python" "tests") "py_tests" ,setup-py)
+          ,@(if (run-python-tests?)
+                `((("lang" "python" "tests") "py_tests" ,setup-py))
+                '())
           (("lang" "qt" "tests") "TESTS" ,setup-c))))))
           (("lang" "qt" "tests") "TESTS" ,setup-c))))))
index d338892..4c96a09 100644 (file)
@@ -29,9 +29,6 @@
 (setenv "top_srcdir" gpgme-srcdir #t)
 (setenv "srcdir" (path-join gpgme-srcdir "tests" "gpg") #t)
 
 (setenv "top_srcdir" gpgme-srcdir #t)
 (setenv "srcdir" (path-join gpgme-srcdir "tests" "gpg") #t)
 
-(define python (catch #f
-                     (path-expand "python" (string-split (getenv "PATH") *pathsep*))))
-
 (define (run what)
   (if (string-suffix? (car what) ".py")
       (begin
 (define (run what)
   (if (string-suffix? (car what) ".py")
       (begin