* bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry [not found] <87lfck6hbl.fsf@yucca> @ 2021-05-02 2:23 ` Vagrant Cascadian 2021-05-04 19:53 ` Ludovic Courtès 0 siblings, 1 reply; 4+ messages in thread From: Vagrant Cascadian @ 2021-05-02 2:23 UTC (permalink / raw) To: 46038 [-- Attachment #1: Type: text/plain, Size: 7113 bytes --] On 2021-01-22, Vagrant Cascadian wrote: > I've uploaded guix 1.2.0 built against guile-2.2 to Debian, and while it > builds fine on the official buildd.debian.org infrastructure, on amd64 > and arm64 the "channel-news, one entry" test from tests/channels.scm > fails on tests.reproducible-builds.org. > > There are likely a few differences in the two build environments, > possibly including network access. > > Does the "channel-news, one entry" test indirectly depend on network or > bootstrap binaries? > > Could a difference in locale related variables affect the result of the > test (e.g. LANGUAGE=en:en_US vs. LANGUAGE unset, LC_ALL unset > vs. LC_ALL=C or LC_ALL=C.UTF-8)? > > https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/guix.html Still basically the same story with 1.3.0rc1, in some cases this test fails, but I haven't consistently figured out what triggers it. > test-name: channel-news, one entry > location: /build/1st/guix-1.2.0/tests/channels.scm:324 > source: > + (test-assert > + "channel-news, one entry" > + (with-temporary-git-repository > + directory > + `((add ".guix-channel" > + ,(object->string > + '(channel (version 0) (news-file "news.scm")))) > + (commit "first commit") > + (add "src/a.txt" "A") > + (commit "second commit") > + (tag "tag-for-first-news-entry") > + (add "news.scm" > + ,(lambda (repository) > + (let ((previous > + (reference-name->oid repository "HEAD"))) > + (object->string > + `(channel-news > + (version 0) > + (entry (commit ,(oid->string previous)) > + (title (en "New file!") (eo "Nova dosiero!")) > + (body (en "Yeah, a.txt.")))))))) > + (commit "third commit") > + (add "src/b.txt" "B") > + (commit "fourth commit") > + (add hint: Using 'master' as the name for the initial branch. This default branch name > hint: is subject to change. To configure the initial branch name to use in all > hint: of your new repositories, which will suppress this warning, call: > hint: > hint: git config --global init.defaultBranch <name> > hint: > hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and > hint: 'development'. The just-created branch can be renamed via this command: > hint: > hint: git branch -m <name> > Initialized empty Git repository in /tmp/guix-directory.6SfxEu/.git/ > [master (root-commit) 8b5d0e8] first commit > 1 file changed, 1 insertion(+) > create mode 100644 .guix-channel > [master b8dd467] second commit > 1 file changed, 1 insertion(+) > create mode 100644 src/a.txt > [master 324d7bc] third commit > 1 file changed, 1 insertion(+) > create mode 100644 news.scm > [master 2cd62e1] fourth commit > 1 file changed, 1 insertion(+) > create mode 100644 src/b.txt > [master d0e63c3] fifth commit > 1 file changed, 1 insertion(+), 1 deletion(-) > hint: Using 'master' as the name for the initial branch. This default branch name > hint: is subject to change. To configure the initial branch name to use in all > hint: of your new repositories, which will suppress this warning, call: > hint: > hint: git config --global init.defaultBranch <name> > hint: > hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and > hint: 'development'. The just-created branch can be renamed via this command: > hint: > hint: git branch -m <name> > Initialized empty Git repository in /tmp/guix-directory.M2UpCv/.git/ > [master (root-commit) f84a5c3] first commit > 1 file changed, 1 insertion(+) > create mode 100644 a.txt > [master b1e63da] second commit > 1 file changed, 1 insertion(+) > create mode 100644 b.scm > "news.scm" > + ,(lambda (repository) > + (let ((second > + (commit-id > + (find-commit repository "second commit"))) > + (previous > + (reference-name->oid repository "HEAD"))) > + (object->string > + `(channel-news > + (version 0) > + (entry (commit ,(oid->string previous)) > + (title (en "Another file!")) > + (body (en "Yeah, b.txt."))) > + (entry (tag "tag-for-first-news-entry") > + (title (en "Old news.") (eo "Malnova?oj.")) > + (body (en "For a.txt")))))))) > + (commit "fifth commit")) > + (with-repository > + directory > + repository > + (define (find-commit* message) > + (oid->string > + (commit-id (find-commit repository message)))) > + (let ((channel > + (channel > + (url (string-append "file://" directory)) > + (name 'foo))) > + (commit1 (find-commit* "first commit")) > + (commit2 (find-commit* "second commit")) > + (commit3 (find-commit* "third commit")) > + (commit4 (find-commit* "fourth commit")) > + (commit5 (find-commit* "fifth commit"))) > + (and (null? (channel-news-for-commit channel commit2)) > + (lset= string=? > + (map channel-news-entry-commit > + (channel-news-for-commit channel commit5)) > + (list commit2 commit4)) > + (lset= equal? > + (map channel-news-entry-title > + (channel-news-for-commit channel commit5)) > + '((("en" . "Another file!")) > + (("en" . "Old news.") ("eo" . "Malnova?oj.")))) > + (lset= string=? > + (map channel-news-entry-commit > + (channel-news-for-commit channel commit3)) > + (list commit2)) > + (lset= string=? > + (map channel-news-entry-commit > + (channel-news-for-commit channel commit3 commit1)) > + (list commit2)) > + (lset= string=? > + (map channel-news-entry-commit > + (channel-news-for-commit channel commit5 commit3)) > + (list commit4)) > + (lset= string=? > + (map channel-news-entry-commit > + (channel-news-for-commit channel commit5 commit1)) > + (list commit4 commit2)) > + (lset= equal? > + (map channel-news-entry-tag > + (channel-news-for-commit channel commit5 commit1)) > + '(#f "tag-for-first-news-entry"))))))) > actual-value: #f > result: FAIL live well, vagrant [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 227 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry 2021-05-02 2:23 ` bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry Vagrant Cascadian @ 2021-05-04 19:53 ` Ludovic Courtès 2021-05-04 22:34 ` Vagrant Cascadian 0 siblings, 1 reply; 4+ messages in thread From: Ludovic Courtès @ 2021-05-04 19:53 UTC (permalink / raw) To: Vagrant Cascadian; +Cc: 46038 Hi Vagrant, Vagrant Cascadian <vagrant@reproducible-builds.org> skribis: > On 2021-01-22, Vagrant Cascadian wrote: >> I've uploaded guix 1.2.0 built against guile-2.2 to Debian, and while it >> builds fine on the official buildd.debian.org infrastructure, on amd64 >> and arm64 the "channel-news, one entry" test from tests/channels.scm >> fails on tests.reproducible-builds.org. >> >> There are likely a few differences in the two build environments, >> possibly including network access. >> >> Does the "channel-news, one entry" test indirectly depend on network or >> bootstrap binaries? >> >> Could a difference in locale related variables affect the result of the >> test (e.g. LANGUAGE=en:en_US vs. LANGUAGE unset, LC_ALL unset >> vs. LC_ALL=C or LC_ALL=C.UTF-8)? >> >> https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/guix.html > > Still basically the same story with 1.3.0rc1, in some cases this test > fails, but I haven't consistently figured out what triggers it. > > >> test-name: channel-news, one entry >> location: /build/1st/guix-1.2.0/tests/channels.scm:324 >> source: [...] >> + (lset= equal? >> + (map channel-news-entry-title >> + (channel-news-for-commit channel commit5)) >> + '((("en" . "Another file!")) >> + (("en" . "Old news.") ("eo" . "Malnova?oj.")))) The culprit is right here: it should read “Malnovaĵoj”, but there’s a question mark instead of ‘ĵ’. Could it be that you’re not running tests in a UTF-8 locale? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry 2021-05-04 19:53 ` Ludovic Courtès @ 2021-05-04 22:34 ` Vagrant Cascadian 2021-05-06 10:46 ` Ludovic Courtès 0 siblings, 1 reply; 4+ messages in thread From: Vagrant Cascadian @ 2021-05-04 22:34 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 46038 [-- Attachment #1: Type: text/plain, Size: 2365 bytes --] On 2021-05-04, Ludovic Courtès wrote: > Vagrant Cascadian <vagrant@reproducible-builds.org> skribis: > >> On 2021-01-22, Vagrant Cascadian wrote: >>> I've uploaded guix 1.2.0 built against guile-2.2 to Debian, and while it >>> builds fine on the official buildd.debian.org infrastructure, on amd64 >>> and arm64 the "channel-news, one entry" test from tests/channels.scm >>> fails on tests.reproducible-builds.org. >>> >>> There are likely a few differences in the two build environments, >>> possibly including network access. >>> >>> Does the "channel-news, one entry" test indirectly depend on network or >>> bootstrap binaries? >>> >>> Could a difference in locale related variables affect the result of the >>> test (e.g. LANGUAGE=en:en_US vs. LANGUAGE unset, LC_ALL unset >>> vs. LC_ALL=C or LC_ALL=C.UTF-8)? >>> >>> https://tests.reproducible-builds.org/debian/rb-pkg/experimental/amd64/guix.html >> >> Still basically the same story with 1.3.0rc1, in some cases this test >> fails, but I haven't consistently figured out what triggers it. >> >> >>> test-name: channel-news, one entry >>> location: /build/1st/guix-1.2.0/tests/channels.scm:324 >>> source: > > [...] > >>> + (lset= equal? >>> + (map channel-news-entry-title >>> + (channel-news-for-commit channel commit5)) >>> + '((("en" . "Another file!")) >>> + (("en" . "Old news.") ("eo" . "Malnova?oj.")))) > > The culprit is right here: it should read “Malnovaĵoj”, but there’s a > question mark instead of ‘ĵ’. > > Could it be that you’re not running tests in a UTF-8 locale? Thanks for taking a deeper look! Yes, on tests.reproducible-builds.org, one build is run in the C locale, the other in various UTF-8 locales (somewhat arbitrarily tied to architecture exactly which UTF-8 locale is used). I'm guessing buildd.debian.org use C.UTF-8, since it builds fine there. So now the question is what to do; should tests be able to assume a UTF-8 locale? Should I try to adapt the test to work in C? Should I workaround it in the Debian packaging by forcing to use a UTF-8 locale (on Debian, the only one definitely available is C.UTF-8, which isn't in upstream glibc, and thus not in guix itself). live well, vagrant [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 227 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry 2021-05-04 22:34 ` Vagrant Cascadian @ 2021-05-06 10:46 ` Ludovic Courtès 0 siblings, 0 replies; 4+ messages in thread From: Ludovic Courtès @ 2021-05-06 10:46 UTC (permalink / raw) To: Vagrant Cascadian; +Cc: 46038 Hi, Vagrant Cascadian <vagrant@reproducible-builds.org> skribis: > So now the question is what to do; should tests be able to assume a > UTF-8 locale? > > Should I try to adapt the test to work in C? > > Should I workaround it in the Debian packaging by forcing to use a UTF-8 > locale (on Debian, the only one definitely available is C.UTF-8, which > isn't in upstream glibc, and thus not in guix itself). Since it’s the only test that makes this assumption, you can choose whichever option sounds best to you. In Guix proper, I’d rather assume we’re running in a UTF-8 locale. If that’s not a good option for you, you could patch this one non-ASCII character. HTH! Ludo’. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-05-06 10:47 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <87lfck6hbl.fsf@yucca> 2021-05-02 2:23 ` bug#46038: guix 1.3.0rc1 test failure: channels-news, one entry Vagrant Cascadian 2021-05-04 19:53 ` Ludovic Courtès 2021-05-04 22:34 ` Vagrant Cascadian 2021-05-06 10:46 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).