Fossil version 2.24 build (test) failure
(1) By Barak A. Pearlmutter (barak_pearlmutter) on 2024-04-24 19:39:50 [link] [source]
I am the Debian developer maintaining the Debian Fossil package, and I just updated to 2.24. There is a test error in auto-building fossil 2.24-2 for Debian. Could I trouble someone who understands the test stuff to have a glance at the log? It is succeeding on a few obscure architectures (Motorola 68000, SH4) but failing on most (amd64, arm64, etc.)
Here is a particular failing log, for amd64
Autobuilder log for Fossil 2.24-2 amd64
Cheers,
(2) By Richard Hipp (drh) on 2024-04-24 19:47:23 in reply to 1 [link] [source]
Thanks for the report.
I didn't bother to run the tests prior to tagging the release, because frankly, the tests have not been maintained. At least not by me. I suspect that there are a lot of failures, and I further suspect that the failures are in the tests, not in the code. The real test that I care about is whether or not Fossil works in my day-to-day use, and that test passes.
I'm not sure what to do about the test failures in 2.24. What do other people think?
(3) By Richard Hipp (drh) on 2024-04-24 21:27:38 in reply to 1 [link] [source]
Check-in 5ad708085a90365f fixes test in the 2.24 release, but no makes zero changes to code. Barak - can you use that check-in for your tests? Or do I need to make a 2.24.1 release for you to use?
(4) By Barak A. Pearlmutter (barak_pearlmutter) on 2024-04-25 08:14:47 in reply to 3 [link] [source]
Thanks! I can cherry-pick that (to use git terminology; sorry), no need for a 2.24.1 just for me, although you might want to anyway so other people don't whine about the same thing.
(6) By Barak A. Pearlmutter (barak_pearlmutter) on 2024-04-25 10:27:39 in reply to 4 [link] [source]
Uploaded. Bad news, still having test failures on the autobuilders.
stable link to autobuild of latest upload of Fossil Debian package
E.g.,
Has flag LOOK_LONE_CR: no
Has flag LOOK_LF: no
Has flag LOOK_LONE_LF: no
Has flag LOOK_CRLF: no
Has flag LOOK_LONG: no
Has flag LOOK_INVALID: yes
Has flag LOOK_ODD: no
Has flag LOOK_SHORT: no
***** Final results: 3 errors out of 40029 tests
***** Considered failures: utf-check-1179.1 utf-check-1586.1 utf-check-1587.1
***** Skipped tests: json merge5 set-manifest unversioned
make[1]: *** [src/main.mk:622: test] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j6 test "TESTSUITEFLAGS=-j6 --verbose" VERBOSE=1 returned exit code 2
make: *** [debian/rules:8: binary-arch] Error 25
(8) By Richard Hipp (drh) on 2024-04-25 10:46:30 in reply to 6 [link] [source]
New check-in fb4e90b662803e47 disables the three offending tests. Those tests pass here, probably because the Unicode tables on my desktop are out-of-date.
(9) By Richard Hipp (drh) on 2024-04-25 11:00:22 in reply to 8 [link] [source]
Notice on the timeline how the 2nd change is different from the first. The first edit (at 2024-04-24 21:19) occurred on trunk and was cherry-picked over to the branch. The second edit (at 2024-04-25 10:44) was made on the branch, then merged back into trunk. The first merge was a cherry-pick (dashed line) because I didn't want to move all changes from trunk into the branch, just the one check-in that fixed the test cases. In the second case, a full merge was used because there is nothing on the branch that wasn't already on trunk. In the second case I could have done another cherry-pick as that would have yielded the same result, but it is better to do a full merge when possible as that reduces the chances of merge conflicts in any future merges between those two branches.
(7) By Richard Hipp (drh) on 2024-04-25 10:36:32 in reply to 4 [link] [source]
Thanks for getting Fossil on Debian for us, Barak. Your work is greatly appreciated!
... to use git terminology; sorry ...
"Cherry-pick" is Fossil terminology too. In fact, the link I sent in post (3) above is a cherry-pick. You can see this on the "nearest neighbors" graph that is part of the /info page for that check-in, but it is perhaps more clear on a full timeline graph. Notice the dashed line going from the trunk check-in at 2024-04-24 21:19 over to the "branch-2.24" check-in at 2024-04-24 21:25. (Those two nodes are close together so it is a little hard to see that the thin line is dashed.) The fact that the line is dashed rather than solid indicates that the merge is a cherry-pick merge rather than a full merge. It only transferred the changes from that one check-in over into the branch.
(11) By Barak A. Pearlmutter (barak_pearlmutter) on 2024-04-25 14:09:56 in reply to 7 [link] [source]
Cherry-pick
is a fossil thing too, absolutely, mea culpa!
$ fossil cherry-pick --help
Uploaded after merging branch-2.24
with the unicode test suite bit rot fix. Will post here iff there's still a problem.
(10) By Andy Bradford (andybradford) on 2024-04-25 13:44:11 in reply to 4 [link] [source]
> I can cherry-pick that (to use git terminology; sorry) cherry-pick is also Fossil terminology, so no worries. https://www.fossil-scm.org/home/help?cmd=merge Though it's spelled "cherrypick" in the command-line argument. Andy
(12) By Marcelo Huerta (richieadler) on 2024-04-25 23:12:26 in reply to 10 [link] [source]
It irks me a bit that the command is cherry-pick
but the flag for fossil merge
is --cherrypick
. Hélas.
(13) By Richard Hipp (drh) on 2024-04-25 23:23:07 in reply to 12 [link] [source]
You can use any unique abbreviation for a command. So I always just type something like this:
fossil cherry 5ad708085a90365f
Where the hash argument was copy/pasted from the "fossil ui" graph.
(5.1) By juef on 2024-04-25 09:35:14 edited from 5.0 in reply to 3 [link] [source]
Just checked Alpine Linux:
***** End of wiki: 6 errors so far ******
***** Final results: 6 errors out of 41226 tests
***** Considered failures: pre-commit-warnings-fossil-1 json-cap-POSTenv-name-threw json-cap-POSTenv-notsetup utf-check-1179.1 utf-check-1586.1 utf-check-1587.1
***** Ignored results: 1 ignored errors out of 41226 tests
***** Ignored failures: json-env-RC-1103-code
***** Skipped tests: merge5
(2.24 build logs)
(14.1) By titanofold on 2024-05-14 21:38:14 edited from 14.0 in reply to 5.1 [source]
On Gentoo, experienced similar:
test json-cap-POSTenv-name-threw FAILED! RESULT: HTTP/1.0 400 Bad Request Date: Tue, 14 May 2024 20:13:15 +0000 Connection: close X-UA-Compatible: IE=edge Cache-control: no-cache X-Frame-Options: SAMEORIGIN Content-Type: text/plain; charset=utf-8 Content-Length: 58 Bad HTTP Request: missing CONTENT_LENGTH on a POST method test json-cap-POSTenv-notsetup FAILED! RESULT: HTTP/1.0 400 Bad Request Date: Tue, 14 May 2024 20:13:15 +0000 Connection: close X-UA-Compatible: IE=edge Cache-control: no-cache X-Frame-Options: SAMEORIGIN Content-Type: text/plain; charset=utf-8 Content-Length: 58 Bad HTTP Request: missing CONTENT_LENGTH on a POST method test json-env-RC-1103-code FAILED (knownBug)! Skipping 'th1-tcl-2', SQLite package for Tcl not available Skipping th1-anycap-*-1 perm tests: not in Fossil repo checkout. ***** Final results: 2 errors out of 41028 tests ***** Considered failures: json-cap-POSTenv-name-threw json-cap-POSTenv-notsetup ***** Ignored results: 1 ignored errors out of 41028 tests ***** Ignored failures: json-env-RC-1103-code ***** Skipped tests: merge5
I've patched out the three utf checks using check-in fb4e90b6.
The JSON failures are fixed by 17c01c549e.
However, I can't figure out what I need to do to make it not skip th1-tcl-2
and th1-anycap-*-1
.
(15) By juef on 2024-05-20 17:45:31 in reply to 14.1 [link] [source]
th1-tcl-2
- need to add tcl
USE flag for sqlite (equivalent to sqlite-tcl AlpineLinux) in order to get SQLite package for Tcl;
th1-anycap-*-1
- as it is not a fossil clone, temporary repository (within source directory) should be created:
./fossil init tmp.fossil
./fossil open -k tmp.fossil