gnu: icedtea-7: Run tests conditionally.

* gnu/packages/java.scm (icedtea-7)[arguments]: Respect TESTS? in 'check
phase.
This commit is contained in:
Ricardo Wurmus 2021-12-16 09:15:25 +01:00
parent 35bac40a67
commit 9e6baab2d8
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -1618,30 +1618,29 @@ (define-public icedtea-7
(("/bin/sh") (which "sh"))))
#t))
(replace 'check
(lambda _
(lambda* (#:key tests? #:allow-other-keys)
;; The "make check-*" targets always return zero, so we need to
;; check for errors in the associated log files to determine
;; whether any tests have failed.
(use-modules (ice-9 rdelim))
(let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
(checker (lambda (port)
(let loop ()
(let ((line (read-line port)))
(cond
((eof-object? line) #t)
((regexp-exec error-pattern line)
(error "test failed"))
(else (loop)))))))
(run-test (lambda (test)
(invoke "make" test)
(call-with-input-file
(string-append "test/" test ".log")
checker))))
(when #f ; skip tests
(when tests?
(use-modules (ice-9 rdelim))
(let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
(checker (lambda (port)
(let loop ()
(let ((line (read-line port)))
(cond
((eof-object? line) #t)
((regexp-exec error-pattern line)
(error "test failed"))
(else (loop)))))))
(run-test (lambda (test)
(invoke "make" test)
(call-with-input-file
(string-append "test/" test ".log")
checker))))
(run-test "check-hotspot")
(run-test "check-langtools")
(run-test "check-jdk"))
#t)))
(run-test "check-jdk")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")