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.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 46413@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 46413
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch