While working on https://src.fedoraproject.org/rpms/bigloo/pull-request/1, I noticed that bigloo's test suite reports test failures as successes. For example, search in https://kojipkgs.fedoraproject.org//work/tasks/7670/31827670/build.log for "failed". Extracting one example from the Makefile shows that it's the individual test, not the overall suite: | [tim@passepartout ~/var/tmp/bigloo]$ (cd bigloo4.3c/api/text/recette && $OLDPWD/bigloo4.3c/bin/bglrun.sh ./recette; echo $?) | cond-expand...ok. | hyphens...ok. | hyphenate-english...ok. | gb2312...*** ERROR:gb2312: | file missing -- /usr/lib64/bigloo/4.3c/text/data/gb2312.sch | error. | ==> provided: [#(#u"Version pas mal resserrée, et je pense ")] | expected: [#u"Version pas mal resserrée, et je pense "] | All tests executed... | 3 succeeded | 1 failed (gb2312) | 0 | [tim@passepartout ~/var/tmp/bigloo]$ I don't speak Scheme, but I believe that something like: | --- /dev/fd/63 2019-01-05 11:16:52.811442441 +0000 | +++ bigloo4.3c/api/text/recette/recette.scm 2019-01-05 11:15:40.707794595 +0000 | @@ -153,10 +153,13 @@ | ;; if we reach that point, we are done | (print "\n" | (if (null? tests) "All" (reverse tests)) | - " tests executed...\n" | - (if (null? *failure*) | - "all succeeded" | - (format " ~a succeeded\n ~a failed ~a" | - *success* | - (length *failure*) | - (reverse *failure*)))))) | + " tests executed...") | + (if (null? *failure*) | + (print "all succeeded") | + (begin | + (print | + (format " ~a succeeded\n ~a failed ~a" | + *success* | + (length *failure*) | + (reverse *failure*))) | + (exit 1))))) (in all tests) would fix this.
Thanks for your recent input on bigloo, Tim. Sorry to be slow replying to you. Every time I go on vacation I come home to a giant pile of work... :-) Are you interested in comaintaining bigloo? As for this particular issue, I think a simpler patch is possible. How about if we leave the printing code alone, and simply add a new form at the end that does something like (exit (if (null? *failure*) 1 0))? We could even do (exit (length *failure*)), which would make the exit code report the number of failures. What do you think?
I personally do not use bigloo and thus don't feel qualified to triage issues there (to illustrate: I initially tested the logic in my patch by trying to compare nil with t :-)). Regarding how to solve this, I do not have any preference and would leave it to upstream. (The amount of identical boilerplate in bigloo4.3c/api/*/recette*/recette.scm suggests to do some major deduplication there anyway.)
FEDORA-2019-35968a964b has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-35968a964b
bigloo-4.3f-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-35968a964b
bigloo-4.3f-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.