gnu: anystyle: Add tests for dictionary adapters.

* gnu/packages/ruby.scm (anystyle)[arguments]: Instead of deleting the
'check' phase, replace it with a few tests. Add SRFI 1 to '#:modules'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Philip McGrath 2022-07-25 08:16:34 -04:00 committed by Ludovic Courtès
parent 14a50b62d4
commit 9c124671ce
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -13613,6 +13613,7 @@ (define-public anystyle
#:modules
`((guix build ruby-build-system)
(ice-9 popen)
(srfi srfi-1)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
@ -13621,7 +13622,30 @@ (define-public anystyle
(substitute* "anystyle-cli.gemspec"
(("'bibtex-ruby', '[^']*'")
"'bibtex-ruby'"))))
(delete 'check) ;; there are no upstream tests
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
;; There are no tests, but let's use this opportunity to do a
;; basic test of our own that things run ok. It works especially
;; well to test this here since we know the 'ruby-anystile'
;; package is in its final, immutable installed form.
(when tests?
(let ((common
`("require 'anystyle'"
,(string-append
"pp AnyStyle.parse 'Derrida, J. (1967). Lécriture"
" et la différence (1 éd.). Paris: Éditions du"
" Seuil.'"))))
(for-each
(lambda (lines)
(apply invoke "ruby"
(fold-right (lambda (line lst)
(cons* "-e" line lst))
'()
lines)))
`(,common
("require 'anystyle/dictionary'"
"AnyStyle::Dictionary.defaults[:adapter] = :gdbm"
,@common)))))))
(add-after 'wrap 'check-cli
(lambda* (#:key tests? outputs #:allow-other-keys)
(when tests?