build-system: android-ndk: Support unit tests.

* guix/build-system/android-ndk.scm (android-ndk-build): Add googletest.
* guix/build/android-ndk-build-system.scm (check): Check whether tests are
enabled.  Run root-level tests as well.
This commit is contained in:
Danny Milosavljevic 2018-05-10 00:05:58 +02:00
parent 3385db349f
commit 9ed36cd3d6
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5
2 changed files with 10 additions and 5 deletions

View file

@ -113,6 +113,7 @@ (define private-keywords
;; Keep the standard inputs of 'gnu-build-system'
,@(standard-packages)))
(build-inputs `(("android-make-stub" ,(module-ref (resolve-interface '(gnu packages android)) 'android-make-stub))
("googletest" ,(module-ref (resolve-interface '(gnu packages check)) 'googletest))
,@native-inputs))
(outputs outputs)
(build android-ndk-build)

View file

@ -68,11 +68,15 @@ (define* (install #:key inputs outputs (make-flags '()) #:allow-other-keys)
(copy-recursively "include" (string-append out "/include")))
#t))
(define* (check #:key inputs outputs tests? (make-flags '()) #:allow-other-keys)
;; TODO: Also handle root-level tests.
(when (and (file-exists? "tests") tests?)
(with-directory-excursion "tests"
(apply invoke "make" "check" make-flags))))
(define* (check #:key target inputs outputs (tests? (not target)) (make-flags '()) #:allow-other-keys)
(if tests?
(begin
(apply invoke "make" "check" make-flags)
(when (and (file-exists? "tests") tests?)
(with-directory-excursion "tests"
(apply invoke "make" "check" make-flags))))
(format #t "test suite not run~%"))
#t)
(define %standard-phases
(modify-phases gnu:%standard-phases