======================================== GNU Guix UNKNOWN: ./test-suite.log ======================================== # TOTAL: 28 # PASS: 27 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 FAIL: tests/publish =================== ;;; (wait-for-file "/tmp/guix-directory.nlpLZB/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item.narinfo") test-name: with cache location: /home/hinsen/src/guix/tests/publish.scm:417 source: + (test-equal + "with cache" + (list #t + `(("StorePath" unquote %item) + ("URL" + unquote + (string-append "nar/gzip/" (basename %item))) + ("Compression" . "gzip")) + 200 + #t + #t + 404) + (call-with-temporary-directory + (lambda (cache) + (let ((thread + (with-separate-output-ports + (call-with-new-thread + (lambda () + (guix-publish + "--port=6797" + "-C2" + (string-append "--cache=" cache) + "--cache-bypass-threshold=0")))))) + (wait-until-ready 6797) + (let* ((base "http://localhost:6797/") + (part (store-path-hash-part %item)) + (url (string-append base part ".narinfo")) + (nar-url + (string-append base "nar/gzip/" (basename %item))) + (cached + (string-append + cache + "/gzip/" + (basename %item) + ".narinfo")) + (nar (string-append + cache + "/gzip/" + (basename %item) + ".nar")) + (response (http-get url))) + (and (= 404 (response-code response)) + (match (assq-ref + (response-headers response) + 'cache-control) + ((((quote max-age) . ttl)) (< ttl 3600))) + (wait-for-file cached) + (= 420 (stat:perms (lstat cached))) + (= 420 (stat:perms (lstat nar))) + (let* ((body (http-get-port url)) + (compressed (http-get nar-url)) + (uncompressed + (http-get + (string-append base "nar/" (basename %item)))) + (narinfo (recutils->alist body))) + (list (file-exists? nar) + (filter + (lambda (item) + (match item + (("Compression" . _) #t) + (("StorePath" . _) #t) + (("URL" . _) #t) + (_ #f))) + narinfo) + (response-code compressed) + (= (response-content-length compressed) + (stat:size (stat nar))) + (= (string->number (assoc-ref narinfo "FileSize")) + (stat:size (stat nar))) + (response-code uncompressed))))))))) expected-value: (#t (("StorePath" . "/home/hinsen/src/guix/test-tmp/store/892j9b0gqgbj4a7sv40jif3yyv25sm90-item") ("URL" . "nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item") ("Compression" . "gzip")) 200 #t #t 404) actual-value: #f result: FAIL ;;; (wait-for-file "/tmp/guix-directory.8sKoZA/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item.narinfo") ;;; (narinfo/gzip+lzip (("StorePath" . "/home/hinsen/src/guix/test-tmp/store/892j9b0gqgbj4a7sv40jif3yyv25sm90-item") ("URL" . "nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item") ("Compression" . "gzip") ("FileSize" . "86") ("URL" . "nar/lzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item") ("Compression" . "lzip") ("FileSize" . "99") ("NarHash" . "sha256:1xngcmsdkdvaycaqjfzvq4gr3gib56p2l8illglnsqzhpss47pxz") ("NarSize" . "120") ("References" . "yfwmjazc6d4grdr7gd05a088s5zi46fr-ref") ("Signature" . "1;ubuntu;KHNpZ25hdHVyZSAKIChkYXRhIAogIChmbGFncyBwa2NzMSkKICAoaGFzaCBzaGEyNTYgIzc4QzQxRUY4RDFEQ0JDMjdFNzBFMTI3NDExMzY4QzQ3MDQ1RjBDNEREMjBCMzdDMTBGQzA3MUYwM0VCMjg1NEYjKQogICkKIChzaWctdmFsIAogIChyc2EgCiAgIChzICMyODk3NjI1MjE2OUM5RjhCQjQwNzUxN0NGOUNGMTQ2N0E2NjYxRDg5MzYwNjU0N0Y0ODE2MDZGRTkwN0VBRDA4NzBDOUE3NkFCMjBBQUU1NzA1RkVBQjMyMTU3OTJBQzU0OEFBMjYzOEU1OUY1QTU4NzZDQTgyNzM3Mzk4MDFGMUMwNEU1NEZBNkU5RTI5MDhFQzk3MzYyM0NFNjAyOEIwNURFNDM5MTQ2QTVCRDU1NTQ2RTlBNTBGN0I0MzIzODk1NjhDQTlGNkEwNjUyRThEMjJEQjVEMDk5ODAxQTgxQTBDRjRCMTBCQjZFMUM3OTc0MTQxNUJGMTFENjcyQzY0IykKICAgKQogICkKIChwdWJsaWMta2V5IAogIChyc2EgCiAgIChuICMwMEMxRjc2NDA2OUY1NEZGRTkzQTEyNkIwMjMyODkwM0U5ODRFNEFFM0FGNkRGNDAyQjVCNkIzOTA3OTExQjg4QzM4NUYxQkE3NkEwMDJFQzlERUExMDlBNTIyOEVGMEU2MkVFMzFBMDZEMUE1ODYxQ0FCNDc0RjZDODU3QUM2NkVCNjVBMTkwNUYyNUJCQTE4Njk1NzlFNzNBM0I3RkVEMTNBRjVBMTY2NzMyNkY4OENERkMyRkYyNEIwM0MxNEZEMTM4NEFBN0U3M0NBODk1NzI4ODBCNjA2RTNBOTc0RTE1MzQ3OTYzRkM3QjYzNzg1NzQ5MzZBNDc1ODBEQkNCNDUjKQogICAoZSAjMDEwMDAxIykKICAgKQogICkKICkK"))) ;;; (wait-for-file "/tmp/guix-directory.EwWvnB/none/cg2pd24cvpc6v4jh7ckki2n13q1zchni-fake-compressed-thing.tar.gz.narinfo") ;;; (wait-for-file "/tmp/guix-directory.3LxNtz/gzip/ram48mn56vgmfnr8km850kzs5syjfhbs-random.narinfo") publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6789 using 'none' compression method, level 0 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6799 using 'gzip' compression method, level 5 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6790 using 'lzip' compression method, level 3 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6793 using 'gzip' compression method, level 2 using 'lzip' compression method, level 2 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6798 using 'none' compression method, level 0 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6797 using 'gzip' compression method, level 2 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6794 using 'gzip' compression method, level 2 using 'lzip' compression method, level 2 random seed for tests: 1616093970 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6796 using 'gzip' compression method, level 2 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6795 using 'gzip' compression method, level 3 finding garbage collector roots... removing stale temporary roots file `/home/hinsen/src/guix/test-tmp/var/49285/temproots/49300' deleting unused links... ;;; (response #< version: (1 . 1) code: 200 reason-phrase: "OK" headers: ((content-length . 1270) (content-type application/x-nix-narinfo (charset . "utf-8"))) port: #>) ;;; (r1 #< version: (1 . 1) code: 200 reason-phrase: "OK" headers: ((content-type application/x-nix-archive (charset . "ISO-8859-1"))) port: #>) ;;; (wait-for-file "/tmp/guix-directory.KRX0xy/gzip/7m9anpjflf65fiaq98vr1q0c98kyx9kg-random.narinfo") ;;; (r2 #< version: (1 . 1) code: 200 reason-phrase: "OK" headers: ((content-length . 139) (content-type application/octet-stream (charset . "ISO-8859-1"))) port: #>) ;;; (wait-for-file "/tmp/guix-directory.EHMH8z/gzip/93lnhc9mm7z8qznqav2qwyjandd9gb7l-random.narinfo") publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6788 using 'gzip' compression method, level 3 publishing /home/hinsen/src/guix/test-tmp/store on 0.0.0.0, port 6787 using 'gzip' compression method, level 3 @ build-started /home/hinsen/src/guix/test-tmp/store/38q9b6wajlggmm6dnd60465w14chh8ri-with-log.drv - x86_64-linux /home/hinsen/src/guix/test-tmp/var/log/guix/drvs/38//q9b6wajlggmm6dnd60465w14chh8ri-with-log.drv.bz2 49360 Hello, build log!@ build-succeeded /home/hinsen/src/guix/test-tmp/store/38q9b6wajlggmm6dnd60465w14chh8ri-with-log.drv - GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /ram48mn56vgmfnr8km850kzs5syjfhbs.narinfo GET /ram48mn56vgmfnr8km850kzs5syjfhbs.narinfo GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /nix-cache-info GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /fs7qgchq8d0bzih48q8k1nmfz526bqxl.narinfo GET /nar/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/lzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/zstd/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/fs7qgchq8d0bzih48q8k1nmfz526bqxl-fake-gtk%2B GET /nar/invalid GET /file/the-file.txt/sha256/0halvvmzqz6wvp0g8sa9hda5g04j4hpnc5gd314npgarmbc2iw5f GET /file/the-file.txt/sha256/not-a-nix-base32-string GET /file/the-file.txt/sha256/0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 GET /log/kafh91vyhfg6r7p1i41g9qkd251i0x7k-with-log GET /log/does-not-exist GET /signing-key.pub GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo POST /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /nar/gzip/7m9anpjflf65fiaq98vr1q0c98kyx9kg-random GET /7m9anpjflf65fiaq98vr1q0c98kyx9kg.narinfo GET /nar/gzip/7m9anpjflf65fiaq98vr1q0c98kyx9kg-random GET /cg2pd24cvpc6v4jh7ckki2n13q1zchni.narinfo GET /cg2pd24cvpc6v4jh7ckki2n13q1zchni.narinfo GET /cg2pd24cvpc6v4jh7ckki2n13q1zchni.narinfo GET /nar/gzip/cg2pd24cvpc6v4jh7ckki2n13q1zchni-fake-compressed-thing.tar.gz GET /nar/cg2pd24cvpc6v4jh7ckki2n13q1zchni-fake-compressed-thing.tar.gz GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/lzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /foo/bar/chbouib/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/gzip/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-does-not-exist GET /nar/gzip/93lnhc9mm7z8qznqav2qwyjandd9gb7l-random GET /93lnhc9mm7z8qznqav2qwyjandd9gb7l.narinfo GET /nar/gzip/93lnhc9mm7z8qznqav2qwyjandd9gb7l-random GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /nar/gzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/lzip/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /nar/892j9b0gqgbj4a7sv40jif3yyv25sm90-item GET /892j9b0gqgbj4a7sv40jif3yyv25sm90.narinfo GET /l8w8g6wfpn2f8c1cxj24gnj80115j2vb.narinfo