Fossil User Forum

Fossil version 2.24 build (test) failure
Login

Fossil version 2.24 build (test) failure

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.)

Autobuilder logs for Fossil

Here is a particular failing log, for amd64

Autobuilder log for Fossil 2.24-2 amd64

Cheers,

--Barak Pearlmutter

(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 [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 [link] [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