tests/publish.scm fails on berlin

  • Open
  • quality assurance status badge
Details
3 participants
  • Leo Famulari
  • Maxim Cournoyer
  • zimoun
Owner
unassigned
Submitted by
Leo Famulari
Severity
normal
L
L
Leo Famulari wrote on 10 Feb 2021 00:20
(address . bug-guix@gnu.org)
YCMYvJLYdcR7K3mE@jasmine.lan
I notice that tests/publish.scm crashes consistently when run "by hand"
with `make check` on ci.guix.gnu.org:

------
$ make check -j1
[...]
PASS: tests/profiles.scm
make[4]: *** [Makefile:5520: tests/publish.log] Error 134
make[4]: Leaving directory '/home/lfam/guix'
make[3]: *** [Makefile:5502: check-TESTS] Error 2
make[3]: Leaving directory '/home/lfam/guix'
make[2]: *** [Makefile:5751: check-am] Error 2
make[2]: Leaving directory '/home/lfam/guix'
make[1]: *** [Makefile:5279: check-recursive] Error 1
make[1]: Leaving directory '/home/lfam/guix'
make: *** [Makefile:5753: check] Error 2
------

Since it crashes, the remainder of the tests are not run.

I've attached the log, but I'm not sure what the problem is.
Attachment: publish.log
Z
Z
zimoun wrote on 10 Feb 2021 00:41
(name . Leo Famulari)(address . leo@famulari.name)(address . 46413@debbugs.gnu.org)
CAJ3okZ2PP1MWFNDcp8k6AgKgLLt-DYyjarSyq8a4=9FvmHOk8Q@mail.gmail.com
Hi Leo,

On Wed, 10 Feb 2021 at 00:21, Leo Famulari <leo@famulari.name> wrote:
Toggle quote (4 lines)
>
> I notice that tests/publish.scm crashes consistently when run "by hand"
> with `make check` on ci.guix.gnu.org:

It also crashes on one of my machine running Guix on the top of
Ubuntu. I have not investigated more yet.


Cheers,
simon
L
L
Leo Famulari wrote on 10 Feb 2021 01:08
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 46413@debbugs.gnu.org)
YCMj/AZekF30xIph@jasmine.lan
On Wed, Feb 10, 2021 at 12:41:23AM +0100, zimoun wrote:
Toggle quote (3 lines)
> It also crashes on one of my machine running Guix on the top of
> Ubuntu. I have not investigated more yet.

Oh, that's interesting! It works fine for me with Guix on Debian.
Z
Z
zimoun wrote on 10 Feb 2021 02:45
(name . Leo Famulari)(address . leo@famulari.name)(address . 46413@debbugs.gnu.org)
865z30bsrf.fsf@gmail.com
Hi Leo,

On Tue, 09 Feb 2021 at 19:08, Leo Famulari <leo@famulari.name> wrote:
Toggle quote (6 lines)
> On Wed, Feb 10, 2021 at 12:41:23AM +0100, zimoun wrote:
>> It also crashes on one of my machine running Guix on the top of
>> Ubuntu. I have not investigated more yet.
>
> Oh, that's interesting! It works fine for me with Guix on Debian.

It works for me on Debian too. But not on Ubuntu.

Debian: using b9a54aa to build 4590ee9bd0
Ubuntu: using 380a837 to build 4590ee9bd0

I have not investigate more.

Cheers,
simon
L
L
Leo Famulari wrote on 28 Dec 2021 23:35
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 46413@debbugs.gnu.org)
YcuRT81M2ZnyPlVH@jasmine.lan
On Wed, Feb 10, 2021 at 12:41:23AM +0100, zimoun wrote:
Toggle quote (5 lines)
> On Wed, 10 Feb 2021 at 00:21, Leo Famulari <leo@famulari.name> wrote:
> >
> > I notice that tests/publish.scm crashes consistently when run "by hand"
> > with `make check` on ci.guix.gnu.org:

This is still happening.
M
M
Maxim Cournoyer wrote on 15 Jul 2022 19:12
(name . Leo Famulari)(address . leo@famulari.name)(address . 46413@debbugs.gnu.org)
87sfn2uwpd.fsf@gmail.com
Hi,

Leo Famulari <leo@famulari.name> writes:

Toggle quote (404 lines)
> I notice that tests/publish.scm crashes consistently when run "by hand"
> with `make check` on ci.guix.gnu.org:
>
> ------
> $ make check -j1
> [...]
> PASS: tests/profiles.scm
> make[4]: *** [Makefile:5520: tests/publish.log] Error 134
> make[4]: Leaving directory '/home/lfam/guix'
> make[3]: *** [Makefile:5502: check-TESTS] Error 2
> make[3]: Leaving directory '/home/lfam/guix'
> make[2]: *** [Makefile:5751: check-am] Error 2
> make[2]: Leaving directory '/home/lfam/guix'
> make[1]: *** [Makefile:5279: check-recursive] Error 1
> make[1]: Leaving directory '/home/lfam/guix'
> make: *** [Makefile:5753: check] Error 2
> ------
>
> Since it crashes, the remainder of the tests are not run.
>
> I've attached the log, but I'm not sure what the problem is.
>
> test-name: /nix-cache-info
> location: /home/lfam/guix/tests/publish.scm:135
> source:
> + (test-equal
> + "/nix-cache-info"
> + (format
> + #f
> + "StoreDir: ~a\nWantMassQuery: 0\nPriority: 100\n"
> + %store-directory)
> + (http-get-body (publish-uri "/nix-cache-info")))
> expected-value: "StoreDir: /home/lfam/guix/test-tmp/store\nWantMassQuery: 0\nPriority: 100\n"
> actual-value: "StoreDir: /home/lfam/guix/test-tmp/store\nWantMassQuery: 0\nPriority: 100\n"
> result: PASS
>
> test-name: /*.narinfo
> location: /home/lfam/guix/tests/publish.scm:140
> source:
> + (test-equal
> + "/*.narinfo"
> + (let* ((info (query-path-info %store %item))
> + (unsigned-info
> + (format
> + #f
> + "StorePath: ~a\nURL: nar/~a\nCompression: none\nFileSize: ~a\nNarHash: sha256:~a\nNarSize: ~d\nReferences: ~a~%"
> + %item
> + (basename %item)
> + (path-info-nar-size info)
> + (bytevector->nix-base32-string
> + (path-info-hash info))
> + (path-info-nar-size info)
> + (basename (first (path-info-references info)))))
> + (signature
> + (base64-encode
> + (string->utf8
> + (canonical-sexp->string
> + (signed-string unsigned-info))))))
> + (format
> + #f
> + "~aSignature: 1;~a;~a~%"
> + unsigned-info
> + (gethostname)
> + signature))
> + (utf8->string
> + (http-get-body
> + (publish-uri
> + (string-append
> + "/"
> + (store-path-hash-part %item)
> + ".narinfo")))))
> expected-value: "StorePath: /home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item\nURL: nar/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item\nCompression: none\nFileSize: 120\nNarHash: sha256:1xngcmsdkdvaycaqjfzvq4gr3gib56p2l8illglnsqzhpss47pxz\nNarSize: 120\nReferences: 7va9x8gzhcwxv1srdiw9jx6ia9c20s0j-ref\nSignature: 1;berlin.guix.gnu.org;KHNpZ25hdHVyZSAKIChkYXRhIAogIChmbGFncyBwa2NzMSkKICAoaGFzaCBzaGEyNTYgIzdCODIxNDAyQjZCQTI3NzQ3OTI0QTdFNDUwMDdFMzYyOUM2OTUwOTFFNjlCQTI2OTc2MUIwRDRDMkRGMUJCQ0IjKQogICkKIChzaWctdmFsIAogIChyc2EgCiAgIChzICNCREVCOEY4Mjk4QzY1MkQ4NkNCRTgwQjJEMEIzMUY0MUFBODI3ODU1RkRBNDUyNjU1REQwMUQ5Mzg2RTk2OUQ2RTlFNzdFRTNDNzI2NjEwNzY4NjlFNEFGMUQ0MEM0M0Y4RjQ5MjE2Nzc2QzVFQ0Q2NDc0QkY2MjFGNDVFOTRGOTJFOTk2Nzg5Mzg2NDI2MThFNjdGQzA5RDU1MzcyNkQ5MzM5MjZFNkQ2MkQ3QzVFQTM4Mjc4NkUyQkFDRTIxQUVFNUVCMUVDMDFGNUUxQjc1M0I2NzdDMDE1RTlBMEExNjk1MkRCQjgzQUM1MjMxQURBMzBDMTFDMjMzOTA4ODdEIykKICAgKQogICkKIChwdWJsaWMta2V5IAogIChyc2EgCiAgIChuICMwMEMxRjc2NDA2OUY1NEZGRTkzQTEyNkIwMjMyODkwM0U5ODRFNEFFM0FGNkRGNDAyQjVCNkIzOTA3OTExQjg4QzM4NUYxQkE3NkEwMDJFQzlERUExMDlBNTIyOEVGMEU2MkVFMzFBMDZEMUE1ODYxQ0FCNDc0RjZDODU3QUM2NkVCNjVBMTkwNUYyNUJCQTE4Njk1NzlFNzNBM0I3RkVEMTNBRjVBMTY2NzMyNkY4OENERkMyRkYyNEIwM0MxNEZEMTM4NEFBN0U3M0NBODk1NzI4ODBCNjA2RTNBOTc0RTE1MzQ3OTYzRkM3QjYzNzg1NzQ5MzZBNDc1ODBEQkNCNDUjKQogICAoZSAjMDEwMDAxIykKICAgKQogICkKICkK\n"
> actual-value: "StorePath: /home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item\nURL: nar/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item\nCompression: none\nFileSize: 120\nNarHash: sha256:1xngcmsdkdvaycaqjfzvq4gr3gib56p2l8illglnsqzhpss47pxz\nNarSize: 120\nReferences: 7va9x8gzhcwxv1srdiw9jx6ia9c20s0j-ref\nSignature: 1;berlin.guix.gnu.org;KHNpZ25hdHVyZSAKIChkYXRhIAogIChmbGFncyBwa2NzMSkKICAoaGFzaCBzaGEyNTYgIzdCODIxNDAyQjZCQTI3NzQ3OTI0QTdFNDUwMDdFMzYyOUM2OTUwOTFFNjlCQTI2OTc2MUIwRDRDMkRGMUJCQ0IjKQogICkKIChzaWctdmFsIAogIChyc2EgCiAgIChzICNCREVCOEY4Mjk4QzY1MkQ4NkNCRTgwQjJEMEIzMUY0MUFBODI3ODU1RkRBNDUyNjU1REQwMUQ5Mzg2RTk2OUQ2RTlFNzdFRTNDNzI2NjEwNzY4NjlFNEFGMUQ0MEM0M0Y4RjQ5MjE2Nzc2QzVFQ0Q2NDc0QkY2MjFGNDVFOTRGOTJFOTk2Nzg5Mzg2NDI2MThFNjdGQzA5RDU1MzcyNkQ5MzM5MjZFNkQ2MkQ3QzVFQTM4Mjc4NkUyQkFDRTIxQUVFNUVCMUVDMDFGNUUxQjc1M0I2NzdDMDE1RTlBMEExNjk1MkRCQjgzQUM1MjMxQURBMzBDMTFDMjMzOTA4ODdEIykKICAgKQogICkKIChwdWJsaWMta2V5IAogIChyc2EgCiAgIChuICMwMEMxRjc2NDA2OUY1NEZGRTkzQTEyNkIwMjMyODkwM0U5ODRFNEFFM0FGNkRGNDAyQjVCNkIzOTA3OTExQjg4QzM4NUYxQkE3NkEwMDJFQzlERUExMDlBNTIyOEVGMEU2MkVFMzFBMDZEMUE1ODYxQ0FCNDc0RjZDODU3QUM2NkVCNjVBMTkwNUYyNUJCQTE4Njk1NzlFNzNBM0I3RkVEMTNBRjVBMTY2NzMyNkY4OENERkMyRkYyNEIwM0MxNEZEMTM4NEFBN0U3M0NBODk1NzI4ODBCNjA2RTNBOTc0RTE1MzQ3OTYzRkM3QjYzNzg1NzQ5MzZBNDc1ODBEQkNCNDUjKQogICAoZSAjMDEwMDAxIykKICAgKQogICkKICkK\n"
> result: PASS
>
> test-name: /*.narinfo with properly encoded '+' sign
> location: /home/lfam/guix/tests/publish.scm:169
> source:
> + (test-equal
> + "/*.narinfo with properly encoded '+' sign"
> + (let* ((item (add-text-to-store
> + %store
> + "fake-gtk+"
> + "Congrats!"))
> + (info (query-path-info %store item))
> + (unsigned-info
> + (format
> + #f
> + "StorePath: ~a\nURL: nar/~a\nCompression: none\nFileSize: ~a\nNarHash: sha256:~a\nNarSize: ~d\nReferences: ~%"
> + item
> + (uri-encode (basename item))
> + (path-info-nar-size info)
> + (bytevector->nix-base32-string
> + (path-info-hash info))
> + (path-info-nar-size info)))
> + (signature
> + (base64-encode
> + (string->utf8
> + (canonical-sexp->string
> + (signed-string unsigned-info))))))
> + (format
> + #f
> + "~aSignature: 1;~a;~a~%"
> + unsigned-info
> + (gethostname)
> + signature))
> + (let ((item (add-text-to-store
> + %store
> + "fake-gtk+"
> + "Congrats!")))
> + (utf8->string
> + (http-get-body
> + (publish-uri
> + (string-append
> + "/"
> + (store-path-hash-part item)
> + ".narinfo"))))))
> expected-value: "StorePath: /home/lfam/guix/test-tmp/store/r3j7lcw6x9lsmqcly3m8509ynzxk9668-fake-gtk+\nURL: nar/r3j7lcw6x9lsmqcly3m8509ynzxk9668-fake-gtk%2B\nCompression: none\nFileSize: 128\nNarHash: sha256:1ysbwi8icaw2g5qmwjf9k0qd4d9gazd91kf1djycpk5ahwh4kmlp\nNarSize: 128\nReferences: \nSignature: 1;berlin.guix.gnu.org;KHNpZ25hdHVyZSAKIChkYXRhIAogIChmbGFncyBwa2NzMSkKICAoaGFzaCBzaGEyNTYgIzZENEMwM0RFNDM1MjcyMzdGMzRBODZFQjY0NzFFQUMwRjcwRkNGNDRFNzIyRDk5QURDRUJFNkRCNzE0MDZGOEMjKQogICkKIChzaWctdmFsIAogIChyc2EgCiAgIChzICMwNkJDQjk2QzE0RUI5RkI2QTgzQUM2NkIzMEUyNTI0N0I2MEE5Rjc5RDJCNkRBQUEyMDMxRjRCRDEwNjAzMjlBMTBENkNGNjU2MUMyMEFEQTg5NENGMzM4OTAwQTA3RTREREVCQjdBNDkzQTBBNDc1RThDNTc2MTMxMzA3RkI1NzJGQTc4NTRDRTRGNDM5NTlCREFDNzA0RjYzODQ5MTAwMzM1MkYzQjAxMDZENjFCRTNEMjZDMDk0QjJDNDJFQzY3NjFGOTY1ODdDMDkzODVERTgyMzQ1Qjk1QkUyNkE0MDI3QTI1OUIxMUQ4RkYxOENGRTQyMTE5RUMyODM4RDhFIykKICAgKQogICkKIChwdWJsaWMta2V5IAogIChyc2EgCiAgIChuICMwMEMxRjc2NDA2OUY1NEZGRTkzQTEyNkIwMjMyODkwM0U5ODRFNEFFM0FGNkRGNDAyQjVCNkIzOTA3OTExQjg4QzM4NUYxQkE3NkEwMDJFQzlERUExMDlBNTIyOEVGMEU2MkVFMzFBMDZEMUE1ODYxQ0FCNDc0RjZDODU3QUM2NkVCNjVBMTkwNUYyNUJCQTE4Njk1NzlFNzNBM0I3RkVEMTNBRjVBMTY2NzMyNkY4OENERkMyRkYyNEIwM0MxNEZEMTM4NEFBN0U3M0NBODk1NzI4ODBCNjA2RTNBOTc0RTE1MzQ3OTYzRkM3QjYzNzg1NzQ5MzZBNDc1ODBEQkNCNDUjKQogICAoZSAjMDEwMDAxIykKICAgKQogICkKICkK\n"
> actual-value: "StorePath: /home/lfam/guix/test-tmp/store/r3j7lcw6x9lsmqcly3m8509ynzxk9668-fake-gtk+\nURL: nar/r3j7lcw6x9lsmqcly3m8509ynzxk9668-fake-gtk%2B\nCompression: none\nFileSize: 128\nNarHash: sha256:1ysbwi8icaw2g5qmwjf9k0qd4d9gazd91kf1djycpk5ahwh4kmlp\nNarSize: 128\nReferences: \nSignature: 1;berlin.guix.gnu.org;KHNpZ25hdHVyZSAKIChkYXRhIAogIChmbGFncyBwa2NzMSkKICAoaGFzaCBzaGEyNTYgIzZENEMwM0RFNDM1MjcyMzdGMzRBODZFQjY0NzFFQUMwRjcwRkNGNDRFNzIyRDk5QURDRUJFNkRCNzE0MDZGOEMjKQogICkKIChzaWctdmFsIAogIChyc2EgCiAgIChzICMwNkJDQjk2QzE0RUI5RkI2QTgzQUM2NkIzMEUyNTI0N0I2MEE5Rjc5RDJCNkRBQUEyMDMxRjRCRDEwNjAzMjlBMTBENkNGNjU2MUMyMEFEQTg5NENGMzM4OTAwQTA3RTREREVCQjdBNDkzQTBBNDc1RThDNTc2MTMxMzA3RkI1NzJGQTc4NTRDRTRGNDM5NTlCREFDNzA0RjYzODQ5MTAwMzM1MkYzQjAxMDZENjFCRTNEMjZDMDk0QjJDNDJFQzY3NjFGOTY1ODdDMDkzODVERTgyMzQ1Qjk1QkUyNkE0MDI3QTI1OUIxMUQ4RkYxOENGRTQyMTE5RUMyODM4RDhFIykKICAgKQogICkKIChwdWJsaWMta2V5IAogIChyc2EgCiAgIChuICMwMEMxRjc2NDA2OUY1NEZGRTkzQTEyNkIwMjMyODkwM0U5ODRFNEFFM0FGNkRGNDAyQjVCNkIzOTA3OTExQjg4QzM4NUYxQkE3NkEwMDJFQzlERUExMDlBNTIyOEVGMEU2MkVFMzFBMDZEMUE1ODYxQ0FCNDc0RjZDODU3QUM2NkVCNjVBMTkwNUYyNUJCQTE4Njk1NzlFNzNBM0I3RkVEMTNBRjVBMTY2NzMyNkY4OENERkMyRkYyNEIwM0MxNEZEMTM4NEFBN0U3M0NBODk1NzI4ODBCNjA2RTNBOTc0RTE1MzQ3OTYzRkM3QjYzNzg1NzQ5MzZBNDc1ODBEQkNCNDUjKQogICAoZSAjMDEwMDAxIykKICAgKQogICkKICkK\n"
> result: PASS
>
> test-name: /nar/*
> location: /home/lfam/guix/tests/publish.scm:201
> source:
> + (test-equal
> + "/nar/*"
> + "bar"
> + (call-with-temporary-output-file
> + (lambda (temp port)
> + (let ((nar (utf8->string
> + (http-get-body
> + (publish-uri
> + (string-append "/nar/" (basename %item)))))))
> + (call-with-input-string
> + nar
> + (cut restore-file <> temp)))
> + (call-with-input-file temp read-string))))
> expected-value: "bar"
> actual-value: "bar"
> result: PASS
>
> test-name: /nar/gzip/*
> location: /home/lfam/guix/tests/publish.scm:212
> source:
> + (test-equal
> + "/nar/gzip/*"
> + "bar"
> + (call-with-temporary-output-file
> + (lambda (temp port)
> + (let ((nar (http-get-port
> + (publish-uri
> + (string-append "/nar/gzip/" (basename %item))))))
> + (call-with-gzip-input-port
> + nar
> + (cut restore-file <> temp)))
> + (call-with-input-file temp read-string))))
> expected-value: "bar"
> actual-value: "bar"
> result: PASS
>
> test-name: /nar/gzip/* is really gzip
> location: /home/lfam/guix/tests/publish.scm:223
> source:
> + (test-equal
> + "/nar/gzip/* is really gzip"
> + %gzip-magic-bytes
> + (let ((nar (http-get-port
> + (publish-uri
> + (string-append "/nar/gzip/" (basename %item))))))
> + (get-bytevector-n
> + nar
> + (bytevector-length %gzip-magic-bytes))))
> expected-value: #vu8(31 139)
> actual-value: #vu8(31 139)
> result: PASS
>
> test-name: /nar/lzip/*
> location: /home/lfam/guix/tests/publish.scm:233
> source:
> + (test-equal
> + "/nar/lzip/*"
> + "bar"
> + (call-with-temporary-output-file
> + (lambda (temp port)
> + (let ((nar (http-get-port
> + (publish-uri
> + (string-append "/nar/lzip/" (basename %item))))))
> + (call-with-lzip-input-port
> + nar
> + (cut restore-file <> temp)))
> + (call-with-input-file temp read-string))))
> expected-value: "bar"
> actual-value: "bar"
> result: PASS
>
> test-name: /nar/zstd/*
> location: /home/lfam/guix/tests/publish.scm:245
> source:
> + (test-equal
> + "/nar/zstd/*"
> + "bar"
> + (call-with-temporary-output-file
> + (lambda (temp port)
> + (let ((nar (http-get-port
> + (publish-uri
> + (string-append "/nar/zstd/" (basename %item))))))
> + (call-with-zstd-input-port
> + nar
> + (cut restore-file <> temp)))
> + (call-with-input-file temp read-string))))
> expected-value: "bar"
> actual-value: "bar"
> result: PASS
>
> test-name: /*.narinfo with compression
> location: /home/lfam/guix/tests/publish.scm:256
> source:
> + (test-equal
> + "/*.narinfo with compression"
> + `(("StorePath" unquote %item)
> + ("URL"
> + unquote
> + (string-append "nar/gzip/" (basename %item)))
> + ("Compression" . "gzip"))
> + (let ((thread
> + (with-separate-output-ports
> + (call-with-new-thread
> + (lambda () (guix-publish "--port=6799" "-C5"))))))
> + (wait-until-ready 6799)
> + (let* ((url (string-append
> + "http://localhost:6799/"
> + (store-path-hash-part %item)
> + ".narinfo"))
> + (body (http-get-port url)))
> + (filter
> + (lambda (item)
> + (match item
> + (("Compression" . _) #t)
> + (("StorePath" . _) #t)
> + (("URL" . _) #t)
> + (_ #f)))
> + (recutils->alist body)))))
> expected-value: (("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/gzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "gzip"))
> actual-value: (("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/gzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "gzip"))
> result: PASS
>
> test-name: /*.narinfo with lzip compression
> location: /home/lfam/guix/tests/publish.scm:276
> source:
> + (test-equal
> + "/*.narinfo with lzip compression"
> + `(("StorePath" unquote %item)
> + ("URL"
> + unquote
> + (string-append "nar/lzip/" (basename %item)))
> + ("Compression" . "lzip"))
> + (let ((thread
> + (with-separate-output-ports
> + (call-with-new-thread
> + (lambda () (guix-publish "--port=6790" "-Clzip"))))))
> + (wait-until-ready 6790)
> + (let* ((url (string-append
> + "http://localhost:6790/"
> + (store-path-hash-part %item)
> + ".narinfo"))
> + (body (http-get-port url)))
> + (filter
> + (lambda (item)
> + (match item
> + (("Compression" . _) #t)
> + (("StorePath" . _) #t)
> + (("URL" . _) #t)
> + (_ #f)))
> + (recutils->alist body)))))
> expected-value: (("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/lzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "lzip"))
> actual-value: (("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/lzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "lzip"))
> result: PASS
>
> test-name: /*.narinfo for a compressed file
> location: /home/lfam/guix/tests/publish.scm:296
> source:
> + (test-equal
> + "/*.narinfo for a compressed file"
> + '("none" "nar")
> + (let* ((item (add-text-to-store
> + %store
> + "fake.tar.gz"
> + "This is a fake compressed file."))
> + (url (string-append
> + "http://localhost:6799/"
> + (store-path-hash-part item)
> + ".narinfo"))
> + (body (http-get-port url))
> + (info (recutils->alist body)))
> + (list (assoc-ref info "Compression")
> + (dirname (assoc-ref info "URL")))))
> expected-value: ("none" "nar")
> actual-value: ("none" "nar")
> result: PASS
>
> test-name: /*.narinfo with lzip + gzip
> location: /home/lfam/guix/tests/publish.scm:308
> source:
> + (test-equal
> + "/*.narinfo with lzip + gzip"
> + `((("StorePath" unquote %item)
> + ("URL"
> + unquote
> + (string-append "nar/gzip/" (basename %item)))
> + ("Compression" . "gzip")
> + ("URL"
> + unquote
> + (string-append "nar/lzip/" (basename %item)))
> + ("Compression" . "lzip"))
> + 200
> + 200)
> + (call-with-temporary-directory
> + (lambda (cache)
> + (let ((thread
> + (with-separate-output-ports
> + (call-with-new-thread
> + (lambda ()
> + (guix-publish
> + "--port=6793"
> + "-Cgzip:2"
> + "-Clzip:2"))))))
> + (wait-until-ready 6793)
> + (let* ((base "http://localhost:6793/")
> + (part (store-path-hash-part %item))
> + (url (string-append base part ".narinfo"))
> + (body (http-get-port url)))
> + (list (take (recutils->alist body) 5)
> + (response-code
> + (http-get
> + (string-append base "nar/gzip/" (basename %item))))
> + (response-code
> + (http-get
> + (string-append base "nar/lzip/" (basename %item))))))))))
> expected-value: ((("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/gzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "gzip") ("URL" . "nar/lzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "lzip")) 200 200)
> actual-value: ((("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "nar/gzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "gzip") ("URL" . "nar/lzip/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "lzip")) 200 200)
> result: PASS
>
> test-name: custom nar path
> location: /home/lfam/guix/tests/publish.scm:335
> source:
> + (test-equal
> + "custom nar path"
> + (list `(("StorePath" unquote %item)
> + ("URL"
> + unquote
> + (string-append
> + "foo/bar/chbouib/"
> + (basename %item)))
> + ("Compression" . "none"))
> + 200
> + 404)
> + (let ((thread
> + (with-separate-output-ports
> + (call-with-new-thread
> + (lambda ()
> + (guix-publish
> + "--port=6798"
> + "-C0"
> + "--nar-path=///foo/bar//chbouib/"))))))
> + (wait-until-ready 6798)
> + (let* ((base "http://localhost:6798/")
> + (part (store-path-hash-part %item))
> + (url (string-append base part ".narinfo"))
> + (nar-url
> + (string-append
> + base
> + "foo/bar/chbouib/"
> + (basename %item)))
> + (body (http-get-port url)))
> + (list (filter
> + (lambda (item)
> + (match item
> + (("Compression" . _) #t)
> + (("StorePath" . _) #t)
> + (("URL" . _) #t)
> + (_ #f)))
> + (recutils->alist body))
> + (response-code (http-get nar-url))
> + (response-code
> + (http-get
> + (string-append base "nar/" (basename %item))))))))
> expected-value: ((("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "foo/bar/chbouib/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "none")) 200 404)
> actual-value: ((("StorePath" . "/home/lfam/guix/test-tmp/store/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("URL" . "foo/bar/chbouib/s3i2h3aw4gk9fs3d80j43sj1g9v50idf-item") ("Compression" . "none")) 200 404)
> result: PASS
>
> test-name: /nar/ with properly encoded '+' sign
> location: /home/lfam/guix/tests/publish.scm:365
> source:
> + (test-equal
> + "/nar/ with properly encoded '+' sign"
> + "Congrats!"
> + (let ((item (add-text-to-store
> + %store
> + "fake-gtk+"
> + "Congrats!")))
> + (call-with-temporary-output-file
> + (lambda (temp port)
> + (let ((nar (utf8->string
> +
This message was truncated. Download the full message here.
L
L
Leo Famulari wrote on 19 Jul 2022 15:52
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 46413@debbugs.gnu.org)
Yta3GX6gEGmq9ijA@jasmine.lan
On Fri, Jul 15, 2022 at 01:12:14PM -0400, Maxim Cournoyer wrote:
Toggle quote (26 lines)
> Hi,
>
> Leo Famulari <leo@famulari.name> writes:
>
> > I notice that tests/publish.scm crashes consistently when run "by hand"
> > with `make check` on ci.guix.gnu.org:
> >
> > ------
> > $ make check -j1
> > [...]
> > PASS: tests/profiles.scm
> > make[4]: *** [Makefile:5520: tests/publish.log] Error 134
> > make[4]: Leaving directory '/home/lfam/guix'
> > make[3]: *** [Makefile:5502: check-TESTS] Error 2
> > make[3]: Leaving directory '/home/lfam/guix'
> > make[2]: *** [Makefile:5751: check-am] Error 2
> > make[2]: Leaving directory '/home/lfam/guix'
> > make[1]: *** [Makefile:5279: check-recursive] Error 1
> > make[1]: Leaving directory '/home/lfam/guix'
> > make: *** [Makefile:5753: check] Error 2
> > ------
> >
> > Since it crashes, the remainder of the tests are not run.
> >
> > I've attached the log, but I'm not sure what the problem is.

[...]

Toggle quote (2 lines)
> I don't see any failure in the above test results?

The test suite crashes, so there are no error messages printed.

I haven't dug in, but I suspect the test suite doesn't handle the case
where the host machine is already running a `guix publish` server.
?