guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit d2d6e921e4033d663aa33e8285f86928fed4b80e
Author: Nicolas Graves <ngra...@ngraves.fr>
AuthorDate: Sat Apr 20 16:11:00 2024 +0200

    build-system/pyproject: Add python test-backend.
    
    * guix/build/pyproject-build-system(check): Add python test-backend.
    
    This will help in cases where a simple `python -m module args` call has
    to be made instead of fully replacing the 'check phase, e.g. unittest
    or django. This is never enabled unless #:test-backend 'python is set,
    so it doesn't break anything.
    
    As an example, the following snippet...
    
    (arguments
      (list #:phases #~(modify-phases %standard-phases
                         (replace 'check
                           (lambda* (#:key tests? #:allow-other-keys)
                             (when tests?
                               (invoke "python" "-m" "unittest"
                                       "diff_match_patch.tests")))))))
    
    ...can be transformed like this:
    
    (arguments
      '(#:test-backend 'python
        #:test-flags (list "-m" "unittest" "diff_match_patch.tests")))
    
    Change-Id: I4919a3e01d64864e3c328609fbcce7df5b3dfe51
    Signed-off-by: Sharlatan Hellseher <sharlata...@gmail.com>
---
 guix/build/pyproject-build-system.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/guix/build/pyproject-build-system.scm 
b/guix/build/pyproject-build-system.scm
index 78b9325e32..97fd4862f0 100644
--- a/guix/build/pyproject-build-system.scm
+++ b/guix/build/pyproject-build-system.scm
@@ -175,6 +175,8 @@ builder.build_wheel(sys.argv[3], 
config_settings=config_settings)"
                   (if (null? test-flags)
                       '("test" "-v")
                       test-flags)))
+          ('python
+           (apply invoke "python" test-flags))
           ;; The developer should explicitly disable tests in this case.
           (else (raise (condition (&test-system-not-found))))))
       (format #t "test suite not run~%")))

Reply via email to