From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#40650: guix test suite failures building Debian package Date: Thu, 16 Apr 2020 10:40:33 +0200 Message-ID: <87d087kem6.fsf@gnu.org> References: <87pnc8wgnq.fsf@yucca> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:46743) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jP051-000459-Dn for bug-guix@gnu.org; Thu, 16 Apr 2020 04:41:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jP050-0002Tn-4E for bug-guix@gnu.org; Thu, 16 Apr 2020 04:41:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54196) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jP050-0002Tb-0y for bug-guix@gnu.org; Thu, 16 Apr 2020 04:41:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jP04z-000337-Sv for bug-guix@gnu.org; Thu, 16 Apr 2020 04:41:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87pnc8wgnq.fsf@yucca> (Vagrant Cascadian's message of "Wed, 15 Apr 2020 15:03:21 -0700") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Vagrant Cascadian Cc: 40650@debbugs.gnu.org Hi Vagrant, Vagrant Cascadian skribis: > Any of the test suites that require networking will need to be disabled > for Debian packages. That should be fine. > One thing that occurs to me is Debian systems have USER_NS_UNPRIVLEDGED > disabled by default (enableable at run-time with > /proc/sys/kernel/unprivileged_userns_clone). That should be fine too: tests that rely on unprivileged user namespaces are skipped when that=E2=80=99s missing. > Attached is the test-suite.log, as requested. Excellent! > test-name: wrap-program, one input, multiple calls > location: /build/guix-jgTHmh/guix-1.1.0/tests/build-utils.scm:94 > source: > + (test-equal > + "wrap-program, one input, multiple calls" > + "hello world\n" > + (call-with-temporary-directory > + (lambda (directory) > + (let ((bash (search-bootstrap-binary > + "bash" > + (%current-system))) > + (foo (string-append directory "/foo"))) > + (call-with-output-file > + foo > + (lambda (p) > + (format > + p > + "#!~a~%echo \"${GUIX_FOO} ${GUIX_BAR}\"~%" > + bash))) > + (chmod foo 511) > + (with-environment-variable > + "PATH" > + (dirname bash) > + (wrap-program foo `("GUIX_FOO" prefix ("hello"))) > + (wrap-program foo `("GUIX_BAR" prefix ("world"))) > + (unsetenv "LOCPATH") > + (let* ((pipe (open-input-pipe foo)) > + (str (get-string-all pipe))) > + (with-directory-excursion > + directory > + (for-each delete-file '("foo" ".foo-real"))) > + (and (zero? (close-pipe pipe)) str))))))) > expected-value: "hello world\n" > actual-value: #f > actual-error: > + (system-error > + "copy-file" > + "~A: ~S" > + ("Permission denied" > + "/build/guix-jgTHmh/guix-1.1.0/gnu/packages/bootstrap/i686-linux/bas= h") > + (13)) > result: FAIL Here=E2=80=99s it=E2=80=99s =E2=80=98search-bootstrap-binary=E2=80=99 from = (guix tests) that tries to create the file above, having downloaded it earlier. For the =E2=80=98guix=E2=80=99 package in Guix, what we do is that this and= related files are inputs to the package; that way, they are not downloaded at all upon =E2=80=98make check=E2=80=99 since they=E2=80=99re already there. All you need is to ensure that gnu/packages/bootstrap/*-linux/{bash,mkdir,tar,xz} exist, are executable, and are statically-linked. You could provide Debian binaries if that=E2=80=99s more appropriate. > test-name: channel-instances->manifest > location: /build/guix-jgTHmh/guix-1.1.0/tests/channels.scm:177 [...] > + Initialized empty Git repository in /tmp/guix-directory.= kYfBE0/.git/ > > *** Please tell me who you are. > > Run > > git config --global user.email "you@example.com" > git config --global user.name "Your Name" > > to set your account's default identity. > Omit --global to set the identity only in this repository. > > fatal: unable to auto-detect email address (got 'vagrant@yucca.(none)') We may need to provide a dummy .gitconfig file or something here so we can run these tests. See also . (The same applies to several test failures.) Thoughts? > test-name: scandir*, properties > location: /build/guix-jgTHmh/guix-1.1.0/tests/syscalls.scm:257 > source: > + (test-assert > + "scandir*, properties" > + (let ((directory > + (dirname > + (search-path %load-path "guix/base32.scm")))) > + (every (lambda (entry name) > + (match entry > + ((name2 . properties) > + (and (string=3D? name2 name) > + (let* ((full (string-append directory "/" nam= e)) > + (stat (lstat full)) > + (inode (assoc-ref properties 'inode)) > + (type (assoc-ref properties 'type))) > + (and (=3D inode (stat:ino stat)) > + (or (eq? type 'unknown) > + (eq? type (stat:type stat))))))))) > + (scandir* directory) > + (scandir directory (const #t) string actual-value: #f > result: FAIL Could you wrap the =E2=80=98scandir*=E2=80=99 and =E2=80=98scandir=E2=80=99= calls in =E2=80=98pk=E2=80=99, run: make check TESTS=3Dtests/syscalls.scm and send =E2=80=98test-suite.log=E2=80=99? > ++ guix build guile-gcrypt --with-branch=3Dguile-gcrypt=3Dmaster -d > accepted connection from pid 17231, user vagrant > updating checkout of 'https://notabug.org/cwebber/guile-gcrypt.git'... > guix build: error: cannot fetch branch 'master' from https://notabug.org/= cwebber/guile-gcrypt.git: the SSL certificate is invalid: 0x08 - The certif= icate is not correctly signed by the trusted CA > + latest_drv=3D > FAIL tests/guix-build-branch.sh (exit status: 1) This test relies on network access + HTTPS certificates. It does check for the former but not the latter. Any suggestions on how to do that? Thanks, Ludo=E2=80=99.