GNU logs - #49981, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: Mathieu Othacehe <othacehe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 10 Aug 2021 15:05:02 +0000
Resent-Message-ID: <handler.49981.B.162860786728454 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: 49981 <at> debbugs.gnu.org
X-Debbugs-Original-To: guix-patches@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.162860786728454
          (code B ref -1); Tue, 10 Aug 2021 15:05:02 +0000
Received: (at submit) by debbugs.gnu.org; 10 Aug 2021 15:04:27 +0000
Received: from localhost ([127.0.0.1]:60310 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mDTIn-0007Oo-Nw
	for submit <at> debbugs.gnu.org; Tue, 10 Aug 2021 11:04:27 -0400
Received: from lists.gnu.org ([209.51.188.17]:46936)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1mDTIk-0007Of-EB
 for submit <at> debbugs.gnu.org; Tue, 10 Aug 2021 11:04:24 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:36826)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <othacehe@HIDDEN>) id 1mDTIk-0001Uu-87
 for guix-patches@HIDDEN; Tue, 10 Aug 2021 11:04:22 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:52506)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1mDTIk-0007cC-1V
 for guix-patches@HIDDEN; Tue, 10 Aug 2021 11:04:22 -0400
Received: from [2a01:e0a:19b:d9a0:f2f7:a404:c3d3:f8b4] (port=44394 helo=meije)
 by fencepost.gnu.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>) id 1mDTIj-0008BD-KW
 for guix-patches@HIDDEN; Tue, 10 Aug 2021 11:04:21 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
Date: Tue, 10 Aug 2021 17:04:20 +0200
Message-ID: <87o8a5734b.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain


Hello,

I would like to convert the Guix tests in the "tests/" directory to
derivations, in the exact same way as for the system tests in the
"gnu/tests/" directory.

For that, I propose to introduce a new <unit-test> record. This would
allow us to select all the unit tests using the "all-unit-tests"
procedure, and add them to the (gnu ci) module.

This way, we could have a Cuirass specification for the unit tests, as
we already have for the system tests, to spot regressions early on.

Here's a patch that translates the "account.scm" test module to the new
proposed mechanism. If there are no objections, I plan to convert all
the remaining tests.

Thanks,

Mathieu

--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: inline; filename=0001-wip-Introduce-unit-tests.patch
Content-Transfer-Encoding: quoted-printable

From eecedc74d8a3fa1a4dc1b99879def3571c9667cf Mon Sep 17 00:00:00 2001
From: Mathieu Othacehe <othacehe@HIDDEN>
Date: Tue, 10 Aug 2021 16:56:38 +0200
Subject: [PATCH] wip: Introduce unit-tests.

---
 Makefile.am        |   1 +
 etc/unit-tests.scm |  98 ++++++++
 tests/accounts.scm | 545 +++++++++++++++++++++++----------------------
 unit-tests.scm     |  69 ++++++
 4 files changed, 442 insertions(+), 271 deletions(-)
 create mode 100644 etc/unit-tests.scm
 create mode 100644 unit-tests.scm

diff --git a/Makefile.am b/Makefile.am
index 5542aa1c56..a5517f10d5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -431,6 +431,7 @@ TEST_EXTENSIONS =3D .scm .sh
 if CAN_RUN_TESTS
=20
 SCM_TESTS =3D					\
+  unit-tests.scm				\
   tests/accounts.scm				\
   tests/base16.scm				\
   tests/base32.scm				\
diff --git a/etc/unit-tests.scm b/etc/unit-tests.scm
new file mode 100644
index 0000000000..3daf69df3d
--- /dev/null
+++ b/etc/unit-tests.scm
@@ -0,0 +1,98 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright =C2=A9 2016, 2018, 2019, 2020 Ludovic Court=C3=A8s <ludo@gnu=
.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (unit-tests)
+             (gnu packages package-management)
+             ((gnu ci) #:select (channel-source->package))
+             ((guix git-download) #:select (git-predicate))
+             ((guix utils) #:select (current-source-directory))
+             (git)
+             (ice-9 match))
+
+(define (source-commit directory)
+  "Return the commit of the head of DIRECTORY or #f if it could not be
+determined."
+  (let ((repository #f))
+    (catch 'git-error
+      (lambda ()
+        (set! repository (repository-open directory))
+        (let* ((head   (repository-head repository))
+               (target (reference-target head))
+               (commit (oid->string target)))
+          (repository-close! repository)
+          commit))
+      (lambda _
+        (when repository
+          (repository-close! repository))
+        #f))))
+
+(define (tests-for-current-guix source commit)
+  "Return a list of tests for perform, using Guix built from SOURCE, a cha=
nnel
+instance."
+  ;; Honor the 'TESTS' environment variable so that one can select a subset
+  ;; of tests to run in the usual way:
+  ;;
+  ;;   make check TESTS=3Daccounts
+  (parameterize ((current-guix-package
+                  (channel-source->package source #:commit commit)))
+    (match (getenv "TESTS")
+      (#f
+       (all-unit-tests))
+      ((=3D string-tokenize (tests ...))
+       (filter (lambda (test)
+                 (member (unit-test-name test) tests))
+               (all-unit-tests))))))
+
+(define (unit-test->manifest-entry test)
+  "Return a manifest entry for TEST, a unit test."
+  (manifest-entry
+    (name (string-append "test." (unit-test-name test)))
+    (version "0")
+    (item test)))
+
+(define (unit-test-manifest)
+  "Return a manifest containing all the unit tests, or all those selected =
by
+the 'TESTS' environment variable."
+  (define source
+    (string-append (current-source-directory) "/.."))
+
+  (define commit
+    ;; Fetch the current commit ID so we can potentially build the same
+    ;; derivation as ci.guix.gnu.org.
+    (source-commit source))
+
+  ;; Intern SOURCE so that 'build-from-source' in (guix channels) sees
+  ;; "fresh" file names and thus doesn't find itself loading .go files
+  ;; from ~/.cache/guile when it loads 'build-aux/build-self.scm'.
+  (let* ((source (local-file source
+                             (if commit
+                                 (string-append "guix-"
+                                                (string-take commit 7))
+                                 "guix-source")
+                             #:recursive? #t
+                             #:select?
+                             (or (git-predicate source)
+                                 (const #t))))
+         (tests  (tests-for-current-guix source commit)))
+    (format (current-error-port) "Selected ~a unit tests...~%"
+            (length tests))
+
+    (manifest (map unit-test->manifest-entry tests))))
+
+;; Return the manifest.
+(unit-test-manifest)
diff --git a/tests/accounts.scm b/tests/accounts.scm
index 78136390bb..302fcff567 100644
--- a/tests/accounts.scm
+++ b/tests/accounts.scm
@@ -16,13 +16,11 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
=20
-(define-module (test-accounts)
-  #:use-module (gnu build accounts)
-  #:use-module (gnu system accounts)
-  #:use-module (srfi srfi-19)
-  #:use-module (srfi srfi-64)
-  #:use-module (ice-9 vlist)
-  #:use-module (ice-9 match))
+(define-module (tests accounts)
+  #:use-module (unit-tests)
+  #:use-module (guix gexp)
+  #:use-module (guix modules)
+  #:export (%test-accounts))
=20
 (define %passwd-sample
   "\
@@ -42,283 +40,288 @@ charlie:" (crypt "hey!" "$6$abc") ":17169::::::
 nobody:!:0::::::\n"))
=20
 
-(test-begin "accounts")
=20
-(test-equal "write-passwd"
-  %passwd-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-passwd (list (password-entry
-                           (name "root")
-                           (uid 0) (gid 0)
-                           (real-name "Admin")
-                           (directory "/root")
-                           (shell "/bin/sh"))
-                          (password-entry
-                           (name "charlie")
-                           (uid 1000) (gid 998)
-                           (real-name "Charlie")
-                           (directory "/home/charlie")
-                           (shell "/bin/sh")))
-                    port))))
+(define (run-accounts-test)
+  (define test
+    (with-imported-modules
+        (source-module-closure '((gnu build accounts)
+                                 (gnu system accounts)))
+      #~(begin
+          (use-modules (srfi srfi-19)
+                       (srfi srfi-64)
+                       (ice-9 vlist)
+                       (ice-9 match)
+                       (gnu build accounts)
+                       (gnu system accounts))
=20
-(test-equal "write-passwd with duplicate entry"
-  %passwd-sample
-  (call-with-output-string
-    (lambda (port)
-      (let ((charlie (password-entry
-                      (name "charlie")
-                      (uid 1000) (gid 998)
-                      (real-name "Charlie")
-                      (directory "/home/charlie")
-                      (shell "/bin/sh"))))
-        (write-passwd (list (password-entry
-                             (name "root")
-                             (uid 0) (gid 0)
-                             (real-name "Admin")
-                             (directory "/root")
-                             (shell "/bin/sh"))
-                            charlie charlie)
-                      port)))))
+          (mkdir #$output)
+          (chdir #$output)
=20
-(test-equal "read-passwd + write-passwd"
-  %passwd-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-passwd (call-with-input-string %passwd-sample
-                      read-passwd)
-                    port))))
+          (test-begin "accounts")
=20
-(test-equal "write-group"
-  %group-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-group (list (group-entry
-                          (name "root") (gid 0))
-                         (group-entry
-                          (name "wheel") (gid 999)
-                          (members '("alice" "bob")))
-                         (group-entry
-                          (name "hackers") (gid 65000)
-                          (members '("alice" "charlie"))))
-                   port))))
+          (test-equal "write-passwd"
+            #$%passwd-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-passwd (list (password-entry
+                                     (name "root")
+                                     (uid 0) (gid 0)
+                                     (real-name "Admin")
+                                     (directory "/root")
+                                     (shell "/bin/sh"))
+                                    (password-entry
+                                     (name "charlie")
+                                     (uid 1000) (gid 998)
+                                     (real-name "Charlie")
+                                     (directory "/home/charlie")
+                                     (shell "/bin/sh")))
+                              port))))
=20
-(test-equal "read-group + write-group"
-  %group-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-group (call-with-input-string %group-sample
-                     read-group)
-                   port))))
+          (test-equal "read-passwd + write-passwd"
+            #$%passwd-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-passwd (call-with-input-string #$%passwd-sample
+                                read-passwd)
+                              port))))
=20
-(test-equal "write-shadow"
-  %shadow-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-shadow (list (shadow-entry
-                           (name "root")
-                           (password (crypt "secret" "$6$abc"))
-                           (last-change 17169))
-                          (shadow-entry
-                           (name "charlie")
-                           (password (crypt "hey!" "$6$abc"))
-                           (last-change 17169))
-                          (shadow-entry
-                           (name "nobody")))
-                    port))))
+          (test-equal "write-group"
+            #$%group-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-group (list (group-entry
+                                    (name "root") (gid 0))
+                                   (group-entry
+                                    (name "wheel") (gid 999)
+                                    (members '("alice" "bob")))
+                                   (group-entry
+                                    (name "hackers") (gid 65000)
+                                    (members '("alice" "charlie"))))
+                             port))))
=20
-(test-equal "read-shadow + write-shadow"
-  %shadow-sample
-  (call-with-output-string
-    (lambda (port)
-      (write-shadow (call-with-input-string %shadow-sample
-                      read-shadow)
-                    port))))
+          (test-equal "read-group + write-group"
+            #$%group-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-group (call-with-input-string #$%group-sample
+                               read-group)
+                             port))))
=20
-
-(define allocate-groups (@@ (gnu build accounts) allocate-groups))
-(define allocate-passwd (@@ (gnu build accounts) allocate-passwd))
+          (test-equal "write-shadow"
+            #$%shadow-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-shadow (list (shadow-entry
+                                     (name "root")
+                                     (password (crypt "secret" "$6$abc"))
+                                     (last-change 17169))
+                                    (shadow-entry
+                                     (name "charlie")
+                                     (password (crypt "hey!" "$6$abc"))
+                                     (last-change 17169))
+                                    (shadow-entry
+                                     (name "nobody")))
+                              port))))
+
+          (test-equal "read-shadow + write-shadow"
+            #$%shadow-sample
+            (call-with-output-string
+              (lambda (port)
+                (write-shadow (call-with-input-string #$%shadow-sample
+                                read-shadow)
+                              port))))
+
+          (define allocate-groups (@@ (gnu build accounts) allocate-groups=
))
+          (define allocate-passwd (@@ (gnu build accounts) allocate-passwd=
))
+
+          (test-equal "allocate-groups"
+            ;; Allocate GIDs in a stateless fashion.
+            (list (group-entry (name "s") (gid %system-id-max))
+                  (group-entry (name "x") (gid 900))
+                  (group-entry (name "t") (gid 899))
+                  (group-entry (name "a") (gid %id-min) (password "foo")
+                               (members '("alice" "bob")))
+                  (group-entry (name "b") (gid (+ %id-min 1))
+                               (members '("charlie"))))
+            (allocate-groups (list (user-group (name "s") (system? #t))
+                                   (user-group (name "x") (id 900))
+                                   (user-group (name "t") (system? #t))
+                                   (user-group (name "a") (password "foo"))
+                                   (user-group (name "b")))
+                             (alist->vhash `(("a" . "bob")
+                                             ("a" . "alice")
+                                             ("b" . "charlie")))))
=20
-(test-equal "allocate-groups"
-  ;; Allocate GIDs in a stateless fashion.
-  (list (group-entry (name "s") (gid %system-id-max))
-        (group-entry (name "x") (gid 900))
-        (group-entry (name "t") (gid 899))
-        (group-entry (name "a") (gid %id-min) (password "foo")
-                     (members '("alice" "bob")))
-        (group-entry (name "b") (gid (+ %id-min 1))
-                     (members '("charlie"))))
-  (allocate-groups (list (user-group (name "s") (system? #t))
-                         (user-group (name "x") (id 900))
-                         (user-group (name "t") (system? #t))
-                         (user-group (name "a") (password "foo"))
-                         (user-group (name "b")))
-                   (alist->vhash `(("a" . "bob")
-                                   ("a" . "alice")
-                                   ("b" . "charlie")))))
+          (test-equal "allocate-groups with requested GIDs"
+            ;; Make sure the requested GID for "b" is honored.
+            (list (group-entry (name "a") (gid (+ 1 %id-min)))
+                  (group-entry (name "b") (gid %id-min))
+                  (group-entry (name "c") (gid (+ 2 %id-min))))
+            (allocate-groups (list (user-group (name "a"))
+                                   (user-group (name "b") (id %id-min))
+                                   (user-group (name "c")))
+                             vlist-null))
=20
-(test-equal "allocate-groups with requested GIDs"
-  ;; Make sure the requested GID for "b" is honored.
-  (list (group-entry (name "a") (gid (+ 1 %id-min)))
-        (group-entry (name "b") (gid %id-min))
-        (group-entry (name "c") (gid (+ 2 %id-min))))
-  (allocate-groups (list (user-group (name "a"))
-                         (user-group (name "b") (id %id-min))
-                         (user-group (name "c")))
-                   vlist-null))
+          (test-equal "allocate-groups with previous state"
+            ;; Make sure bits of state are preserved: password, GID, no re=
use of
+            ;; previously-used GIDs.
+            (list (group-entry (name "s") (gid (- %system-id-max 1)))
+                  (group-entry (name "t") (gid (- %system-id-max 2)))
+                  (group-entry (name "a") (gid 30000) (password #f)
+                               (members '("alice" "bob")))
+                  (group-entry (name "b") (gid 30001) (password "bar")
+                               (members '("charlie"))))
+            (allocate-groups (list (user-group (name "s") (system? #t))
+                                   (user-group (name "t") (system? #t))
+                                   (user-group (name "a") (password "foo"))
+                                   (user-group (name "b")))
+                             (alist->vhash `(("a" . "bob")
+                                             ("a" . "alice")
+                                             ("b" . "charlie")))
+                             (list (group-entry (name "a") (gid 30000))
+                                   (group-entry (name "b") (gid 30001)
+                                                (password "bar"))
+                                   (group-entry (name "removed")
+                                                (gid %system-id-max)))))
=20
-(test-equal "allocate-groups with previous state"
-  ;; Make sure bits of state are preserved: password, GID, no reuse of
-  ;; previously-used GIDs.
-  (list (group-entry (name "s") (gid (- %system-id-max 1)))
-        (group-entry (name "t") (gid (- %system-id-max 2)))
-        (group-entry (name "a") (gid 30000) (password #f)
-                     (members '("alice" "bob")))
-        (group-entry (name "b") (gid 30001) (password "bar")
-                     (members '("charlie"))))
-  (allocate-groups (list (user-group (name "s") (system? #t))
-                         (user-group (name "t") (system? #t))
-                         (user-group (name "a") (password "foo"))
-                         (user-group (name "b")))
-                   (alist->vhash `(("a" . "bob")
-                                   ("a" . "alice")
-                                   ("b" . "charlie")))
-                   (list (group-entry (name "a") (gid 30000))
-                         (group-entry (name "b") (gid 30001)
-                                      (password "bar"))
-                         (group-entry (name "removed")
-                                      (gid %system-id-max)))))
+          (test-equal "allocate-groups with previous state, looping"
+            ;; Check that allocation starts after the highest previously-u=
sed GID, and
+            ;; loops back to the lowest GID.
+            (list (group-entry (name "a") (gid (- %id-max 1)))
+                  (group-entry (name "b") (gid %id-min))
+                  (group-entry (name "c") (gid (+ 1 %id-min))))
+            (allocate-groups (list (user-group (name "a"))
+                                   (user-group (name "b"))
+                                   (user-group (name "c")))
+                             vlist-null
+                             (list (group-entry (name "d")
+                                                (gid (- %id-max 2))))))
=20
-(test-equal "allocate-groups with previous state, looping"
-  ;; Check that allocation starts after the highest previously-used GID, a=
nd
-  ;; loops back to the lowest GID.
-  (list (group-entry (name "a") (gid (- %id-max 1)))
-        (group-entry (name "b") (gid %id-min))
-        (group-entry (name "c") (gid (+ 1 %id-min))))
-  (allocate-groups (list (user-group (name "a"))
-                         (user-group (name "b"))
-                         (user-group (name "c")))
-                   vlist-null
-                   (list (group-entry (name "d")
-                                      (gid (- %id-max 2))))))
+          (test-equal "allocate-passwd"
+            ;; Allocate UIDs in a stateless fashion.
+            (list (password-entry (name "alice") (uid %id-min) (gid 1000)
+                                  (real-name "Alice") (shell "/bin/sh")
+                                  (directory "/home/alice"))
+                  (password-entry (name "bob") (uid (+ 1 %id-min)) (gid 10=
01)
+                                  (real-name "Bob") (shell "/bin/gash")
+                                  (directory "/home/bob"))
+                  (password-entry (name "sshd") (uid %system-id-max) (gid =
500)
+                                  (real-name "sshd") (shell "/nologin")
+                                  (directory "/var/empty"))
+                  (password-entry (name "guix") (uid 30000) (gid 499)
+                                  (real-name "Guix") (shell "/nologin")
+                                  (directory "/var/empty")))
+            (allocate-passwd (list (user-account (name "alice")
+                                                 (comment "Alice")
+                                                 (shell "/bin/sh")
+                                                 (group "users"))
+                                   (user-account (name "bob")
+                                                 (comment "Bob")
+                                                 (shell "/bin/gash")
+                                                 (group "wheel"))
+                                   (user-account (name "sshd") (system? #t)
+                                                 (comment "sshd")
+                                                 (home-directory "/var/emp=
ty")
+                                                 (shell "/nologin")
+                                                 (group "sshd"))
+                                   (user-account (name "guix") (system? #t)
+                                                 (comment "Guix")
+                                                 (home-directory "/var/emp=
ty")
+                                                 (shell "/nologin")
+                                                 (group "guix")
+                                                 (uid 30000)))
+                             (list (group-entry (name "users") (gid 1000))
+                                   (group-entry (name "wheel") (gid 1001))
+                                   (group-entry (name "sshd") (gid 500))
+                                   (group-entry (name "guix") (gid 499)))))
=20
-(test-equal "allocate-passwd"
-  ;; Allocate UIDs in a stateless fashion.
-  (list (password-entry (name "alice") (uid %id-min) (gid 1000)
-                        (real-name "Alice") (shell "/bin/sh")
-                        (directory "/home/alice"))
-        (password-entry (name "bob") (uid (+ 1 %id-min)) (gid 1001)
-                        (real-name "Bob") (shell "/bin/gash")
-                        (directory "/home/bob"))
-        (password-entry (name "sshd") (uid %system-id-max) (gid 500)
-                        (real-name "sshd") (shell "/nologin")
-                        (directory "/var/empty"))
-        (password-entry (name "guix") (uid 30000) (gid 499)
-                        (real-name "Guix") (shell "/nologin")
-                        (directory "/var/empty")))
-  (allocate-passwd (list (user-account (name "alice")
-                                       (comment "Alice")
-                                       (shell "/bin/sh")
-                                       (group "users"))
-                         (user-account (name "bob")
-                                       (comment "Bob")
-                                       (shell "/bin/gash")
-                                       (group "wheel"))
-                         (user-account (name "sshd") (system? #t)
-                                       (comment "sshd")
-                                       (home-directory "/var/empty")
-                                       (shell "/nologin")
-                                       (group "sshd"))
-                         (user-account (name "guix") (system? #t)
-                                       (comment "Guix")
-                                       (home-directory "/var/empty")
-                                       (shell "/nologin")
-                                       (group "guix")
-                                       (uid 30000)))
-                   (list (group-entry (name "users") (gid 1000))
-                         (group-entry (name "wheel") (gid 1001))
-                         (group-entry (name "sshd") (gid 500))
-                         (group-entry (name "guix") (gid 499)))))
+          (test-equal "allocate-passwd with previous state"
+            ;; Make sure bits of state are preserved: UID, no reuse of pre=
viously-used
+            ;; UIDs, and shell.
+            (list (password-entry (name "alice") (uid 1234) (gid 1000)
+                                  (real-name "Alice Smith") (shell "/bin/s=
h")
+                                  (directory "/home/alice"))
+                  (password-entry (name "charlie") (uid 1236) (gid 1000)
+                                  (real-name "Charlie") (shell "/bin/sh")
+                                  (directory "/home/charlie")))
+            (allocate-passwd (list (user-account (name "alice")
+                                                 (comment "Alice")
+                                                 (shell "/bin/sh") ;honored
+                                                 (group "users"))
+                                   (user-account (name "charlie")
+                                                 (comment "Charlie")
+                                                 (shell "/bin/sh")
+                                                 (group "users")))
+                             (list (group-entry (name "users") (gid 1000)))
+                             (list (password-entry (name "alice") (uid 123=
4) (gid 9999)
+                                                   (real-name "Alice Smith=
")
+                                                   (shell "/gnu/.../bin/ga=
sh") ;ignored
+                                                   (directory "/home/alice=
"))
+                                   (password-entry (name "bob") (uid 1235)=
 (gid 1001)
+                                                   (real-name "Bob") (shel=
l "/bin/sh")
+                                                   (directory "/home/bob")=
))))
=20
-(test-equal "allocate-passwd with previous state"
-  ;; Make sure bits of state are preserved: UID, no reuse of previously-us=
ed
-  ;; UIDs, and shell.
-  (list (password-entry (name "alice") (uid 1234) (gid 1000)
-                        (real-name "Alice Smith") (shell "/bin/sh")
-                        (directory "/home/alice"))
-        (password-entry (name "charlie") (uid 1236) (gid 1000)
-                        (real-name "Charlie") (shell "/bin/sh")
-                        (directory "/home/charlie")))
-  (allocate-passwd (list (user-account (name "alice")
-                                       (comment "Alice")
-                                       (shell "/bin/sh") ;honored
-                                       (group "users"))
-                         (user-account (name "charlie")
-                                       (comment "Charlie")
-                                       (shell "/bin/sh")
-                                       (group "users")))
-                   (list (group-entry (name "users") (gid 1000)))
-                   (list (password-entry (name "alice") (uid 1234) (gid 99=
99)
-                                         (real-name "Alice Smith")
-                                         (shell "/gnu/.../bin/gash") ;igno=
red
-                                         (directory "/home/alice"))
-                         (password-entry (name "bob") (uid 1235) (gid 1001)
-                                         (real-name "Bob") (shell "/bin/sh=
")
-                                         (directory "/home/bob")))))
+          (test-equal "user+group-databases"
+            ;; The whole shebang.
+            (list (list (group-entry (name "a") (gid %id-min)
+                                     (members '("bob")))
+                        (group-entry (name "b") (gid (+ 1 %id-min))
+                                     (members '("alice")))
+                        (group-entry (name "s") (gid %system-id-max)))
+                  (list (password-entry (name "alice") (real-name "Alice")
+                                        (uid %id-min) (gid %id-min)
+                                        (directory "/a"))
+                        (password-entry (name "bob") (real-name "Bob")
+                                        (uid (+ 1 %id-min)) (gid (+ 1 %id-=
min))
+                                        (directory "/b"))
+                        (password-entry (name "nobody")
+                                        (uid 65534) (gid %system-id-max)
+                                        (directory "/var/empty")))
+                  (list (shadow-entry (name "alice") (last-change 100)
+                                      (password (crypt "initial pass" "$6$=
")))
+                        (shadow-entry (name "bob") (last-change 50)
+                                      (password (crypt "foo" "$6$")))
+                        (shadow-entry (name "nobody") (last-change 100))))
+            (call-with-values
+                (lambda ()
+                  (user+group-databases (list (user-account
+                                               (name "alice")
+                                               (comment "Alice")
+                                               (home-directory "/a")
+                                               (group "a")
+                                               (supplementary-groups '("b"=
))
+                                               (password (crypt "initial p=
ass" "$6$")))
+                                              (user-account
+                                               (name "bob")
+                                               (comment "Bob")
+                                               (home-directory "/b")
+                                               (group "b")
+                                               (supplementary-groups '("a"=
)))
+                                              (user-account
+                                               (name "nobody")
+                                               (group "s")
+                                               (uid 65534)
+                                               (home-directory "/var/empty=
")))
+                                        (list (user-group (name "a"))
+                                              (user-group (name "b"))
+                                              (user-group (name "s") (syst=
em? #t)))
+                                        #:current-passwd '()
+                                        #:current-shadow
+                                        (list (shadow-entry (name "bob")
+                                                            (password (cry=
pt "foo" "$6$"))
+                                                            (last-change 5=
0)))
+                                        #:current-groups '()
+                                        #:current-time
+                                        (lambda (type)
+                                          (make-time type 0 (* 24 3600 100=
)))))
+              list))
+          (test-end "accounts")
+          (exit (=3D (test-runner-fail-count (test-runner-current)) 0)))))
=20
-(test-equal "user+group-databases"
-  ;; The whole shebang.
-  (list (list (group-entry (name "a") (gid %id-min)
-                           (members '("bob")))
-              (group-entry (name "b") (gid (+ 1 %id-min))
-                           (members '("alice")))
-              (group-entry (name "s") (gid %system-id-max)))
-        (list (password-entry (name "alice") (real-name "Alice")
-                              (uid %id-min) (gid %id-min)
-                              (directory "/a"))
-              (password-entry (name "bob") (real-name "Bob")
-                              (uid (+ 1 %id-min)) (gid (+ 1 %id-min))
-                              (directory "/b"))
-              (password-entry (name "nobody")
-                              (uid 65534) (gid %system-id-max)
-                              (directory "/var/empty")))
-        (list (shadow-entry (name "alice") (last-change 100)
-                            (password (crypt "initial pass" "$6$")))
-              (shadow-entry (name "bob") (last-change 50)
-                            (password (crypt "foo" "$6$")))
-              (shadow-entry (name "nobody") (last-change 100))))
-  (call-with-values
-      (lambda ()
-        (user+group-databases (list (user-account
-                                     (name "alice")
-                                     (comment "Alice")
-                                     (home-directory "/a")
-                                     (group "a")
-                                     (supplementary-groups '("b"))
-                                     (password (crypt "initial pass" "$6$"=
)))
-                                    (user-account
-                                     (name "bob")
-                                     (comment "Bob")
-                                     (home-directory "/b")
-                                     (group "b")
-                                     (supplementary-groups '("a")))
-                                    (user-account
-                                     (name "nobody")
-                                     (group "s")
-                                     (uid 65534)
-                                     (home-directory "/var/empty")))
-                              (list (user-group (name "a"))
-                                    (user-group (name "b"))
-                                    (user-group (name "s") (system? #t)))
-                              #:current-passwd '()
-                              #:current-shadow
-                              (list (shadow-entry (name "bob")
-                                                  (password (crypt "foo" "=
$6$"))
-                                                  (last-change 50)))
-                              #:current-groups '()
-                              #:current-time
-                              (lambda (type)
-                                (make-time type 0 (* 24 3600 100)))))
-    list))
+  (gexp->derivation "accounts-test" test))
=20
-(test-end "accounts")
+(define %test-accounts
+  (unit-test
+   (name "accounts")
+   (description "Run the accounts unit tests.")
+   (value (run-accounts-test))))
diff --git a/unit-tests.scm b/unit-tests.scm
new file mode 100644
index 0000000000..2c4474b19d
--- /dev/null
+++ b/unit-tests.scm
@@ -0,0 +1,69 @@
+(define-module (unit-tests)
+  #:use-module (guix gexp)
+  #:use-module (guix diagnostics)
+  #:use-module (guix records)
+  #:use-module ((guix ui) #:select (warn-about-load-error))
+  #:use-module (guix discovery)
+  #:use-module (srfi srfi-9 gnu)
+  #:use-module (ice-9 match)
+  #:export (unit-test
+            unit-test?
+            unit-test-name
+            unit-test-value
+            unit-test-description
+            unit-test-location
+
+            fold-unit-tests
+            all-unit-tests))
+
+
+;;;
+;;; Unit tests.
+;;;
+
+(define-record-type* <unit-test> unit-test make-unit-test
+  unit-test?
+  (name        unit-test-name)                  ;string
+  (value       unit-test-value)                 ;%STORE-MONAD value
+  (description unit-test-description)           ;string
+  (location    unit-test-location (innate)      ;<location>
+               (default (and=3D> (current-source-location)
+                               source-properties->location))))
+
+(define (write-unit-test test port)
+  (match test
+    (($ <unit-test> name _ _ ($ <location> file line))
+     (format port "#<unit-test ~a ~a:~a ~a>"
+             name file line
+             (number->string (object-address test) 16)))
+    (($ <unit-test> name)
+     (format port "#<unit-test ~a ~a>" name
+             (number->string (object-address test) 16)))))
+
+(set-record-type-printer! <unit-test> write-unit-test)
+
+(define-gexp-compiler (compile-unit-test (test <unit-test>)
+                                           unit target)
+  "Compile TEST to a derivation."
+  ;; XXX: UNIT and TARGET are ignored.
+  (unit-test-value test))
+
+(define (test-modules)
+  "Return the list of modules that define unit tests."
+  (scheme-modules (dirname (search-path %load-path "guix.scm"))
+                  "tests"
+                  #:warn warn-about-load-error))
+
+(define (fold-unit-tests proc seed)
+  "Invoke PROC on each unit test, passing it the test and the previous
+result."
+  (fold-module-public-variables (lambda (obj result)
+                                  (if (unit-test? obj)
+                                      (cons obj result)
+                                      result))
+                                '()
+                                (test-modules)))
+
+(define (all-unit-tests)
+  "Return the list of unit tests."
+  (reverse (fold-unit-tests cons '())))
--=20
2.32.0


--=-=-=--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Mathieu Othacehe <othacehe@HIDDEN>
Subject: bug#49981: Acknowledgement (wip: Introduce unit-tests.)
Message-ID: <handler.49981.B.162860786728454.ack <at> debbugs.gnu.org>
References: <87o8a5734b.fsf@HIDDEN>
X-Gnu-PR-Message: ack 49981
X-Gnu-PR-Package: guix-patches
Reply-To: 49981 <at> debbugs.gnu.org
Date: Tue, 10 Aug 2021 15:05:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 guix-patches@HIDDEN

If you wish to submit further information on this problem, please
send it to 49981 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
49981: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D49981
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: Christopher Baines <mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 10 Aug 2021 18:16:02 +0000
Resent-Message-ID: <handler.49981.B49981.162861934117152 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Mathieu Othacehe <othacehe@HIDDEN>
Cc: 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.162861934117152
          (code B ref 49981); Tue, 10 Aug 2021 18:16:02 +0000
Received: (at 49981) by debbugs.gnu.org; 10 Aug 2021 18:15:41 +0000
Received: from localhost ([127.0.0.1]:60795 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mDWHt-0004Sa-9d
	for submit <at> debbugs.gnu.org; Tue, 10 Aug 2021 14:15:41 -0400
Received: from mira.cbaines.net ([212.71.252.8]:48746)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>) id 1mDWHr-0004SR-EK
 for 49981 <at> debbugs.gnu.org; Tue, 10 Aug 2021 14:15:40 -0400
Received: from localhost (unknown [IPv6:2a02:8010:68c1:0:8ac0:b4c7:f5c8:7caa])
 by mira.cbaines.net (Postfix) with ESMTPSA id 4E85027BC78;
 Tue, 10 Aug 2021 19:15:38 +0100 (BST)
Received: from capella (localhost [127.0.0.1])
 by localhost (OpenSMTPD) with ESMTP id 03ac7fb9;
 Tue, 10 Aug 2021 18:15:38 +0000 (UTC)
References: <87o8a5734b.fsf@HIDDEN>
User-agent: mu4e 1.4.15; emacs 27.2
From: Christopher Baines <mail@HIDDEN>
In-reply-to: <87o8a5734b.fsf@HIDDEN>
Date: Tue, 10 Aug 2021 19:15:38 +0100
Message-ID: <87im0di2t1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Mathieu Othacehe <othacehe@HIDDEN> writes:

> I would like to convert the Guix tests in the "tests/" directory to
> derivations, in the exact same way as for the system tests in the
> "gnu/tests/" directory.
>
> For that, I propose to introduce a new <unit-test> record. This would
> allow us to select all the unit tests using the "all-unit-tests"
> procedure, and add them to the (gnu ci) module.
>
> This way, we could have a Cuirass specification for the unit tests, as
> we already have for the system tests, to spot regressions early on.
>
> Here's a patch that translates the "account.scm" test module to the new
> proposed mechanism. If there are no objections, I plan to convert all
> the remaining tests.

Running the tests in an automated manor would be good, but I am
concerned about the ramifications of converting them to be defined like
the system tests.

I think it's already possible to effectively run the tests for an
arbitrary commit by building (current-guix) or similar. That runs all
the tests, maybe a similar approach could be found that runs individual
tests or runs them in groups.

Converting the tests themselves in to things that have to be put in the
store to be run could make local development harder, and is a step
towards making guix harder to package and distribute. As an example, it
would probably be possible for the Debian package to continue running
the tests, but I'd expect that having to run a guix-daemon just to be
able to setup for the tests will make running them more difficult.

Chris




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: Maxime Devos <maximedevos@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 10 Aug 2021 18:24:02 +0000
Resent-Message-ID: <handler.49981.B49981.162861982517953 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Mathieu Othacehe <othacehe@HIDDEN>, 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.162861982517953
          (code B ref 49981); Tue, 10 Aug 2021 18:24:02 +0000
Received: (at 49981) by debbugs.gnu.org; 10 Aug 2021 18:23:45 +0000
Received: from localhost ([127.0.0.1]:60806 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mDWPd-0004fS-GS
	for submit <at> debbugs.gnu.org; Tue, 10 Aug 2021 14:23:45 -0400
Received: from xavier.telenet-ops.be ([195.130.132.52]:50948)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maximedevos@HIDDEN>) id 1mDWPY-0004fE-07
 for 49981 <at> debbugs.gnu.org; Tue, 10 Aug 2021 14:23:41 -0400
Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be
 ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d])
 by xavier.telenet-ops.be with bizsmtp
 id fuPa2500J0mfAB401uPapa; Tue, 10 Aug 2021 20:23:34 +0200
Message-ID: <0b868497af5e7582987c29bdf2a892e1073da164.camel@HIDDEN>
From: Maxime Devos <maximedevos@HIDDEN>
Date: Tue, 10 Aug 2021 20:23:29 +0200
In-Reply-To: <87o8a5734b.fsf@HIDDEN>
References: <87o8a5734b.fsf@HIDDEN>
Content-Type: multipart/signed; micalg="pgp-sha512";
 protocol="application/pgp-signature"; boundary="=-NxAANkD0QBWxAVALgtkB"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21;
 t=1628619814; bh=1xRKdTviNPESKX2j/dXll+VOaPOYehhWGS9egj1H23U=;
 h=Subject:From:To:Date:In-Reply-To:References;
 b=FV7wGb7o1+9IYAnKVAlcS9kgFW9wf5M+U8xUxsgVPv5Wzoq0u3p6NXdJOQuMX9AgJ
 bGdbMfmGzBA44dMoNqTOyBMHk3KP7SVdASbn0So7Va2LUBFTtADq05mcSl9y0xbWRt
 ACbmfCOadmoWZgtVSi3nGRQleGrtH1ZKjiSFIITc0UKTF6AciYRLkpKDvnS9pBMkqA
 KB5MOmQUb+g3GG/yZ4u7OQ4/cxFXfEvPg1o9MYksZkC9Po4hUpETPK5b3hbvWE2jnQ
 PfGctcAhO65v2Z+pP2glviLkH5nJMV7Linyu7SSWxKhtw8ofDgNvY0qKgegj3TG2bI
 oqiMQofEEJajw==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--=-NxAANkD0QBWxAVALgtkB
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Mathieu Othacehe schreef op di 10-08-2021 om 17:04 [+0200]:
> Hello,
>=20
> I would like to convert the Guix tests in the "tests/" directory to
> derivations, in the exact same way as for the system tests in the
> "gnu/tests/" directory.
>
> For that, I propose to introduce a new <unit-test> record. This would
> allow us to select all the unit tests using the "all-unit-tests"
> procedure, and add them to the (gnu ci) module.

Does "make check" still work, even if no guix daemon is running?

Greetings,
Maxime.

--=-NxAANkD0QBWxAVALgtkB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYRLEIhccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7tYwAQCN0Xy8dwxtFtCG0X8v1yIVPXlH
6UA0AR+esMjyzq57UwEAsCeHggWMq0hn/Kt5zIg0Q4IB/zCdGVCcUdV0S36REgo=
=9oht
-----END PGP SIGNATURE-----

--=-NxAANkD0QBWxAVALgtkB--





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: Mathieu Othacehe <othacehe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 12 Aug 2021 14:52:02 +0000
Resent-Message-ID: <handler.49981.B49981.16287798697891 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Christopher Baines <mail@HIDDEN>
Cc: 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.16287798697891
          (code B ref 49981); Thu, 12 Aug 2021 14:52:02 +0000
Received: (at 49981) by debbugs.gnu.org; 12 Aug 2021 14:51:09 +0000
Received: from localhost ([127.0.0.1]:39601 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mEC33-00023D-IY
	for submit <at> debbugs.gnu.org; Thu, 12 Aug 2021 10:51:09 -0400
Received: from eggs.gnu.org ([209.51.188.92]:48590)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@HIDDEN>) id 1mEC2y-00022g-RB
 for 49981 <at> debbugs.gnu.org; Thu, 12 Aug 2021 10:51:08 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:39730)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>)
 id 1mEC2t-0004sR-G9; Thu, 12 Aug 2021 10:50:59 -0400
Received: from [2a01:e0a:19b:d9a0:f2f7:a404:c3d3:f8b4] (port=44562 helo=meije)
 by fencepost.gnu.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <othacehe@HIDDEN>)
 id 1mEC2t-0003D3-5k; Thu, 12 Aug 2021 10:50:59 -0400
From: Mathieu Othacehe <othacehe@HIDDEN>
References: <87o8a5734b.fsf@HIDDEN> <87im0di2t1.fsf@HIDDEN>
Date: Thu, 12 Aug 2021 16:50:56 +0200
In-Reply-To: <87im0di2t1.fsf@HIDDEN> (Christopher Baines's message of
 "Tue, 10 Aug 2021 19:15:38 +0100")
Message-ID: <87a6lm3een.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)


Hello Chris,

> Converting the tests themselves in to things that have to be put in the
> store to be run could make local development harder, and is a step
> towards making guix harder to package and distribute. As an example, it
> would probably be possible for the Debian package to continue running
> the tests, but I'd expect that having to run a guix-daemon just to be
> able to setup for the tests will make running them more difficult.

That's a valid objection. Regarding the "current-guix" package, it
builds the unit tests as a whole and it would be hard to extract
precisely the result of each individual test.

As almost everything else in Guix is somehow a derivation, it would be
easier for Cuirass to deal with the unit tests under that format. Maybe
we would need to find a way to be able to run them under the actual
form, as well as under a derivation format. This needs more thoughts
though, so I'll put that on hold.

Thanks for the feedback,

Mathieu




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 30 Aug 2021 20:15:02 +0000
Resent-Message-ID: <handler.49981.B49981.16303544647519 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Mathieu Othacehe <othacehe@HIDDEN>
Cc: 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.16303544647519
          (code B ref 49981); Mon, 30 Aug 2021 20:15:02 +0000
Received: (at 49981) by debbugs.gnu.org; 30 Aug 2021 20:14:24 +0000
Received: from localhost ([127.0.0.1]:60396 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mKnfg-0001x9-Rm
	for submit <at> debbugs.gnu.org; Mon, 30 Aug 2021 16:14:24 -0400
Received: from mail-qv1-f52.google.com ([209.85.219.52]:38413)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1mKnfa-0001wk-AG
 for 49981 <at> debbugs.gnu.org; Mon, 30 Aug 2021 16:14:18 -0400
Received: by mail-qv1-f52.google.com with SMTP id ew6so9094582qvb.5
 for <49981 <at> debbugs.gnu.org>; Mon, 30 Aug 2021 13:14:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=uDMvceqzfpVuxcNUXatDUhCVbJktSlA2X78LC0fIlZM=;
 b=bpt0bXkbHKmklVGHUc2OGz/o6aeszOv1NauLTFWU+h0Y2pc2SiUZtheZcEL0XqVoQl
 AGpYdhF/fMjtcSnp0PMP4LzcKj0ekU8VJk2GW+2X9L7z2Dx0jiwQ1a3T31MlKd2qFO34
 cUNExnPGxsYzRLxQrMwyGKVatJx6hOetvvR5vRTemPWevRbzYGd+pVmaM7sMqGyZzbDD
 +DaXI6a0QhouDSeQqp4dLi33XOFQCHfogJ/u2ALT/1YDoS//Aft0Xgl/LPJsFG36JHOb
 GAlJGP4zuhFEabjtme3XOoymyvmpaYRkMYeO8hiAnhJyBcawdYisZ6FHfbIBHQM0o+WD
 a5VA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=uDMvceqzfpVuxcNUXatDUhCVbJktSlA2X78LC0fIlZM=;
 b=UvluNfV+pGJ1l04iEdp/62euv/6FBQbyLzgFpocMQV5rXZYTYJiucP03227TjBUuuT
 /BFPmZWx3W2xYzZD5TCjy9bxgh/C3oVFNcfGeEF5b57gfaSp99l7eYGi9u5c7HAJJC1k
 TvYbueFkaadKExzAoWIfjHEUfIbyIgEYuM9N/EnLtOHSzdeI2+shRWOM4/7pP/NRKg9i
 opZLDYsyxnSLayxikfL5sGfAGrIU7D9VHVPaM6ES29HsI5ctzRwFTprgWgXakbBkUeob
 Fqlf99KLdcaMESGsw7lzVMZ0P4FUlB9l7LdY47E2vvHkaXCnva3MBMo/osPEOepMLHMp
 GqgA==
X-Gm-Message-State: AOAM5335t2okozujTOaN6roPcGlB7Vb1Rj7fFrXVNY0Lom2Rqv3XWk5X
 U2l97pxGrPo4BvhN3tmKIPb2e7+F2MI3kg==
X-Google-Smtp-Source: ABdhPJzQg2O5mCEd249Db0lw3DEK0nNDTEGj8C2xkO142QijZHd2Eh87X/9eiuGf11R9CVnioZT6+w==
X-Received: by 2002:ad4:5651:: with SMTP id bl17mr18018539qvb.49.1630354448591; 
 Mon, 30 Aug 2021 13:14:08 -0700 (PDT)
Received: from hurd (dsl-10-141-212.b2b2c.ca. [72.10.141.212])
 by smtp.gmail.com with ESMTPSA id l13sm12078415qkp.97.2021.08.30.13.14.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 13:14:08 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
References: <87o8a5734b.fsf@HIDDEN>
Date: Mon, 30 Aug 2021 16:14:07 -0400
In-Reply-To: <87o8a5734b.fsf@HIDDEN> (Mathieu Othacehe's message of "Tue, 10
 Aug 2021 17:04:20 +0200")
Message-ID: <87czpulmgg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Mathieu,

Mathieu Othacehe <othacehe@HIDDEN> writes:

> Hello,
>
> I would like to convert the Guix tests in the "tests/" directory to
> derivations, in the exact same way as for the system tests in the
> "gnu/tests/" directory.

Perhaps it's because I spent some effort into improving our (srfi
srfi-64) based test runner, but I have some reserves about the proposed
change, that echoes what Chris and others have mentioned.

1. More in the way between the tests and the code, which may complicate
test debugging.  Unit tests are supposed to involve as little as
possible, ideally; getting the daemon and the store for even the most
trivial tests seems undesirable.

2. One gripe that I have for the check-system tests is that for flaky
tests, if they pass, the success is cached (it's a derivation) and
there's no easy way to re-run them.  I wouldn't want that property to
now apply to unit tests as well.

> For that, I propose to introduce a new <unit-test> record. This would
> allow us to select all the unit tests using the "all-unit-tests"
> procedure, and add them to the (gnu ci) module.

I'm not sure if that's a convenient API for the CI, but our unit test
runner has had the [--select=REGEXP] and [--exclude=REGEXP] command line
switches for a while, that provides the ability to select or exclude
specific tests (at their individual level).

> This way, we could have a Cuirass specification for the unit tests, as
> we already have for the system tests, to spot regressions early on.

Is there something with the current scheme that prevents us from doing
so already?

> Here's a patch that translates the "account.scm" test module to the new
> proposed mechanism. If there are no objections, I plan to convert all
> the remaining tests.

I guess mine is an objection :-).  But with more explanations perhaps I
can better understand things.

Thanks,

Maxim




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 31 Aug 2021 06:34:01 +0000
Resent-Message-ID: <handler.49981.B49981.163039161314668 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>
Cc: 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.163039161314668
          (code B ref 49981); Tue, 31 Aug 2021 06:34:01 +0000
Received: (at 49981) by debbugs.gnu.org; 31 Aug 2021 06:33:33 +0000
Received: from localhost ([127.0.0.1]:60951 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mKxKv-0003oV-B8
	for submit <at> debbugs.gnu.org; Tue, 31 Aug 2021 02:33:33 -0400
Received: from mail-wm1-f50.google.com ([209.85.128.50]:54952)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1mKxKq-0003o4-8r
 for 49981 <at> debbugs.gnu.org; Tue, 31 Aug 2021 02:33:31 -0400
Received: by mail-wm1-f50.google.com with SMTP id g138so10325575wmg.4
 for <49981 <at> debbugs.gnu.org>; Mon, 30 Aug 2021 23:33:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:in-reply-to:references:date:message-id
 :mime-version; bh=3GqzoO7JtP+Rmzds+cf/7N5SO60iXaFSjbb3dnyY+kw=;
 b=X6gvMBd6f49Vu7E7HXITv5tKZTiLLD+Rde8YliI5XQBhP4S/ovALB4NySorcMuE5uN
 IrMBhO4zhzuTgWkEsCtpEMXZyCJJGRiJlV9Xk/GlxVOzI9DW/m9UQ1m0/dhaipaOgQc8
 KPIK/Nb6kJrAdeRf1BQtx8NYpq/rBQGK2t3QKlIwrGNGVliYZqvvjYIMqrFYrfvkRsuc
 rbn+WztHr/e9eE02o6rSsPSKxikgyM3yR7C1+CIUWXTJII6NXeKnxDsqeseZ2jZhQuBC
 1B5vZer8FvSIKajKpAnWJJDqBFeuOYaVRSNG9bMTxL2gDZu42P+VddTKWFIEaMqFfkxq
 pmng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date
 :message-id:mime-version;
 bh=3GqzoO7JtP+Rmzds+cf/7N5SO60iXaFSjbb3dnyY+kw=;
 b=O9Z6Xpsi3uOwtKIc0XlXDJOXT+2oU0UXEiDjaz6vIAAHBo+q58ItWiB5IA1xO1jTwQ
 3VLBr3H/QpNwj+i899WM3Cr9VN6i15tMdt4bnTgpCOkiGyHPAXCaFR9fePzQ0zJKJHpR
 GDOUE6UTdoEQAhbrzVuchndTQgL24nhtRRJhKI0lHOGcPyT1Bql8jtMaOzC3WRYYz5if
 U6VCz6lloyNBJmBU0urSvVZS4I3KmDiG7OuYhcUUz8QezuUtclfrck5/Yn8EPAyWYYCZ
 OfF97RvGvUHwnFnk+8tkoCHaBwCEdBrefEGMlk/Jo9oZcYU1BWISiNFDg3ZloivN6Vmf
 T66g==
X-Gm-Message-State: AOAM531FEtsOWoKg7R71SAzBtrYBa/8VpoJ72ZImrGfxTevRIQfl0MC5
 OBSqger3OBfpuDwz8uV2wQHWKilSGswEwg==
X-Google-Smtp-Source: ABdhPJwH5kPWncz9GFbJUzPpheMPGQpnxf8CT9O4xn37UZ0X//m3Z7VPIl7q8B7EJXoXe403yHpkCA==
X-Received: by 2002:a7b:cbcd:: with SMTP id n13mr2557217wmi.49.1630391602576; 
 Mon, 30 Aug 2021 23:33:22 -0700 (PDT)
Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e])
 by smtp.gmail.com with ESMTPSA id m24sm22699672wrb.18.2021.08.30.23.33.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Aug 2021 23:33:22 -0700 (PDT)
From: zimoun <zimon.toutoune@HIDDEN>
In-Reply-To: <87czpulmgg.fsf@HIDDEN>
References: <87o8a5734b.fsf@HIDDEN> <87czpulmgg.fsf@HIDDEN>
Date: Tue, 31 Aug 2021 08:27:54 +0200
Message-ID: <86pmtudt79.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

On Mon, 30 Aug 2021 at 16:14, Maxim Cournoyer <maxim.cournoyer@HIDDEN> wrote:

> 2. One gripe that I have for the check-system tests is that for flaky
> tests, if they pass, the success is cached (it's a derivation) and
> there's no easy way to re-run them.  I wouldn't want that property to
> now apply to unit tests as well.

Well, maybe all these derivations could be garbage collected at the end
of the tests.  But then, local development will hit bug#24937 [1] about
GC performances.

1: <http://issues.guix.gnu.org/issue/24937>

Cheers,
simon




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#49981] wip: Introduce unit-tests.
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 31 Aug 2021 07:04:01 +0000
Resent-Message-ID: <handler.49981.B49981.163039340917793 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 49981
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: 
To: Mathieu Othacehe <othacehe@HIDDEN>, 49981 <at> debbugs.gnu.org
Received: via spool by 49981-submit <at> debbugs.gnu.org id=B49981.163039340917793
          (code B ref 49981); Tue, 31 Aug 2021 07:04:01 +0000
Received: (at 49981) by debbugs.gnu.org; 31 Aug 2021 07:03:29 +0000
Received: from localhost ([127.0.0.1]:60992 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mKxnt-0004cv-BC
	for submit <at> debbugs.gnu.org; Tue, 31 Aug 2021 03:03:29 -0400
Received: from mail-wr1-f41.google.com ([209.85.221.41]:43537)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1mKxns-0004cH-A6
 for 49981 <at> debbugs.gnu.org; Tue, 31 Aug 2021 03:03:28 -0400
Received: by mail-wr1-f41.google.com with SMTP id b6so25883895wrh.10
 for <49981 <at> debbugs.gnu.org>; Tue, 31 Aug 2021 00:03:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:in-reply-to:references:date:message-id:mime-version
 :content-transfer-encoding;
 bh=FJ0LIAMddbtsbJlaewOBS20RnmjY9QEmmQ7L6b1TmgI=;
 b=NeWdLipfDcbsOWyiKNTSc+Hkw+1VeYjqiG6uoiF6qpniNIkDgCMd3uQ7KdnbjZ7/oB
 4yMkdXOMORMAV7L9EkfmKG0LhB9RoozSdLzvMjH2lef9Hg6yWfyfUwpyUNMRKLg3pbgo
 CLe6tTmGnps86ciP10aWAwOIfVGr3OfohHnxcMXpj0hcfkMbeBz24vpuN16RvfReNVvV
 U3kOy3sjd6feuUnqF6WwbVGnH/SDyF51XfLh9xfRGqdgeuldQnmuZb4IsCBG7NDFRr1Z
 DMLvmTb5ZYGytgeD+ZUKQIta560zRiu4Vp2tb24Bz9f+9xPaSSDjhn3COninxf2786sM
 X8RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:in-reply-to:references:date
 :message-id:mime-version:content-transfer-encoding;
 bh=FJ0LIAMddbtsbJlaewOBS20RnmjY9QEmmQ7L6b1TmgI=;
 b=ZTYXZvEyRkWzK2pC+M/f6rc8Db5wQxNdJbKCzkgP9bIb6B1i6uGBszOz7RLgctk8ZQ
 EXr3rzXq4dUjjiBKFUcGZyzZbrORj7YxlNUSj8nWWTmZMncfedCC11nUGFRyuGIX/x/x
 4PfKiEXb6KFeB8TXkIAEb2rZw53z1yCOmMx3Q7CSREHWw2heWnIGXDSiT7A7hvixBCAj
 GbwxKY8I+8q+YWsUgV5Q622AxXdGAgEq0kJmOJ5B6Itl1uIUaZN0Q/dc0siL05QcCMwS
 Vj44wfp8trJSoUxKaJP5qY124W9Lv0igxtCY+oQhxoMekitVM0PZirtajf6XknlrABaV
 dIAg==
X-Gm-Message-State: AOAM530okqUKQH4+xKGxp4nt3Gzhm563E+MRwaC1Wt3rFh9Q9C4+GMHQ
 caJmUI8epjQlH8r7HFD9hQd7JfMw+h8ucA==
X-Google-Smtp-Source: ABdhPJykWLnxWnwXqO8anSFQ5eWiceL5FdVuDXGAItMNFo8nOvjUIVE801kiYvmD/kcT7aKYvXRkvA==
X-Received: by 2002:adf:eb02:: with SMTP id s2mr29451070wrn.294.1630393402593; 
 Tue, 31 Aug 2021 00:03:22 -0700 (PDT)
Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e])
 by smtp.gmail.com with ESMTPSA id w18sm19088202wrg.68.2021.08.31.00.03.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 31 Aug 2021 00:03:22 -0700 (PDT)
From: zimoun <zimon.toutoune@HIDDEN>
In-Reply-To: <87o8a5734b.fsf@HIDDEN>
References: <87o8a5734b.fsf@HIDDEN>
Date: Tue, 31 Aug 2021 08:36:25 +0200
Message-ID: <86lf4idst2.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Mathieu,

On Tue, 10 Aug 2021 at 17:04, Mathieu Othacehe <othacehe@HIDDEN> wrote:

> This way, we could have a Cuirass specification for the unit tests, as
> we already have for the system tests, to spot regressions early on.

Yeah it could be cool! :-)

> Here's a patch that translates the "account.scm" test module to the new
> proposed mechanism. If there are no objections, I plan to convert all
> the remaining tests.

I miss if =E2=80=9Cmake check TESTS=3D"tests/account.scm"=E2=80=9D still wo=
rks and then
where the log is located.

Cheers,
simon




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 5 Oct 2021 08:27:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 05 04:27:30 2021
Received: from localhost ([127.0.0.1]:39011 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mXfn9-00080X-53
	for submit <at> debbugs.gnu.org; Tue, 05 Oct 2021 04:27:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46070)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mathieu@HIDDEN>)
 id 1mXfn7-00080L-BD
 for control <at> debbugs.gnu.org; Tue, 05 Oct 2021 04:27:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:57684)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <mathieu@HIDDEN>)
 id 1mXfn1-0001lV-WE
 for control <at> debbugs.gnu.org; Tue, 05 Oct 2021 04:27:08 -0400
Received: from [2a01:e0a:19b:d9a0:f2f7:a404:c3d3:f8b4] (port=41902 helo=meije)
 by fencepost.gnu.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <mathieu@HIDDEN>)
 id 1mXfn0-0007mI-Op
 for control <at> debbugs.gnu.org; Tue, 05 Oct 2021 04:27:07 -0400
Date: Tue, 05 Oct 2021 08:27:05 +0000
Message-Id: <87lf37ev1i.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Mathieu Othacehe
 <mathieu@HIDDEN>
Subject: control message for bug #49981
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

close 49981 
quit






Last modified: Tue, 5 Oct 2021 08:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.