Subject: bug#37855: closed (Re: [bug#37855] [PATCH] gnu: guix-data-service: Enable build time tests.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 22 Oct 2019 22:09:02 +0000

Your bug report

#37855: [PATCH] gnu: guix-data-service: Enable build time tests.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
37855: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37855
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#37855] [PATCH] gnu: guix-data-service: Enable build time tests.
From: Christopher Baines <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Tue, 22 Oct 2019 23:08:48 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Christopher Baines <[email-masked]> skribis:
>
>> Previously the tests were not run, as PostgreSQL wasn't running at build
>> time. Now there's a new target, check-with-tmp-database that uses ephemeralpg
>> to run the tests without relying on an externally managed PostgreSQL service.
>>
>> * gnu/packages/web.scm (guix-data-service)[arguments]: Remove #:tests? #f, and
>> set #:test-target to "check-with-tmp-database".
>> [native-inputs]: Add ephemeralpg.
>
> Nice, LGTM!

Great, I've pushed this now as 353f5f7aa7ea575f9f04d3a0b277bbb8012b942d.

> I wonder: can’t you just have “make check” do this, or do you want to
> have “make check” talk to a real database instead?

It's mostly a new target as I already had "make check" just run the
tests, but yeah, it might be more useful for "make check" to setup an
empty database, then run the tests. I'm not quite sure yet.

Subject: [PATCH] gnu: guix-data-service: Enable build time tests.
From: Christopher Baines <[email-masked]>
To: [email-masked]
Date: Mon, 21 Oct 2019 18:42:23 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Previously the tests were not run, as PostgreSQL wasn't running at build
time. Now there's a new target, check-with-tmp-database that uses ephemeralpg
to run the tests without relying on an externally managed PostgreSQL service.

* gnu/packages/web.scm (guix-data-service)[arguments]: Remove #:tests? #f, and
set #:test-target to "check-with-tmp-database".
[native-inputs]: Add ephemeralpg.
---
 gnu/packages/web.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 5487eb2e71..a91059f73d 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4044,11 +4044,11 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
                   "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi"))))
       (build-system gnu-build-system)
       (arguments
-       '(#:tests? #f                    ; TODO Tests require PostgreSQL
-         #:modules ((guix build utils)
+       '(#:modules ((guix build utils)
                     (guix build gnu-build-system)
                     (ice-9 rdelim)
                     (ice-9 popen))
+         #:test-target "check-with-tmp-database"
          #:phases
          (modify-phases %standard-phases
            (add-after 'set-paths 'set-GUIX_ENVIRONMENT
@@ -4106,6 +4106,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
        `(("guile" ,guile-2.2)
          ("autoconf" ,autoconf)
          ("automake" ,automake)
+         ("ephemeralpg" ,ephemeralpg)
          ("emacs-with-modules" ,(directory-union
                                  "emacs-union"
                                  (list emacs-no-x
-- 
2.23.0