https://github.com/datalad/git-annex/pull/7/checks?check_run_id=1376365603
2020-11-09T20:27:43.3824770Z prop_upFrom_basics: FAIL
2020-11-09T20:27:43.3827072Z *** Failed! Exception: 'recoverEncode: invalid argument (invalid character)' (after 3 tests):
2020-11-09T20:27:43.3828330Z "\522233"
2020-11-09T20:27:43.3829895Z Use --quickcheck-replay=884646 to reproduce.
2020-11-09T20:27:43.3836556Z prop_relPathDirToFileAbs_basics: FAIL
2020-11-09T20:27:43.3838482Z *** Failed! Exception: 'recoverEncode: invalid argument (invalid character)' (after 3 tests and 2 shrinks):
2020-11-09T20:27:43.3839816Z "a"
2020-11-09T20:27:43.3840575Z "\1046632"
2020-11-09T20:27:43.3841805Z Use --quickcheck-replay=45910 to reproduce.
...
2020-11-09T20:27:52.3356280Z prop_viewedFile_rountrips: FAIL
2020-11-09T20:27:52.3358132Z *** Failed! Exception: 'recoverEncode: invalid argument (invalid character)' (after 3 tests and 1 shrink):
2020-11-09T20:27:52.3358797Z "\897292"
2020-11-09T20:27:52.3359408Z Use --quickcheck-replay=262390 to reproduce.
that is for 8.20201103+git55-g0f2813377
OSX and Windows still FTBFS differently so cannot say either it is linux or not specific
d44fb89d4f4d3120a34a192025ee901c064cab00 fixed a problem with the same underlying cause. Also, d44fb89d4f4d3120a34a192025ee901c064cab00
Like those, this certianly cannot affect actual use of git-annex as the string QuickCheck has magiced up is normally unable to be produced by any input when LANG=C, and is not a problem in unicode locales.
Probably there ought to be a newtype wrapper around FilePath with a more sane Arbitrary instance, since the default haskell one has this problem. Limiting to ascii only is probably fine. It would be good to use that in every quickcheck property, so we can stop tripping over these.
(Also worth noting: As soon as everything gets converted to RawFilePath entirely, this entire class of problems goes away (and git-annex gets faster too).)
(I wonder if it's also just a bug in QuickCheck, but it's hard to see how it could both do any testing of unicode and work in LANG=C given that Arbitrary is pure and has no way of knowing the locale.)
!
typo making it "invalid"?