From 9c124671ce0eafe50c1d913976ad6bc619475f9a Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Mon, 25 Jul 2022 08:16:34 -0400 Subject: gnu: anystyle: Add tests for dictionary adapters. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- gnu/packages/ruby.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'gnu/packages/ruby.scm') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0b558de6db..2dba81c2a1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13613,6 +13613,7 @@ though the later has not yet been packaged for Guix.") #:modules `((guix build ruby-build-system) (ice-9 popen) + (srfi srfi-1) (guix build utils)) #:phases #~(modify-phases %standard-phases @@ -13621,7 +13622,30 @@ though the later has not yet been packaged for Guix.") (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? -- cgit v1.2.3