fix test suite fail in LANG=C
This was caused by 23e9d3bb77
an Arbitrary String is not necessarily encoded using the filesystem
encoding, and in a non-utf8 locale, encodeBS throws an exception on such a
string. All I could think to do is limit test data to ascii.
This shouldn't be a problem in practice, because the all Strings in
git-annex that are not generated by Arbitrary should be loaded in a way
that does apply the filesystem encoding.
This commit is contained in:
parent
f7b57c5f6b
commit
4e4e11849a
3 changed files with 20 additions and 4 deletions
|
|
@ -270,10 +270,16 @@ instance Arbitrary MetaData where
|
|||
legal k _v = legalField $ fromMetaField k
|
||||
|
||||
instance Arbitrary MetaValue where
|
||||
arbitrary = MetaValue <$> arbitrary <*> arbitrary
|
||||
arbitrary = MetaValue
|
||||
<$> arbitrary
|
||||
-- Avoid non-ascii metavalues because fully arbitrary
|
||||
-- strings may not be encoded using the filesystem
|
||||
-- encoding, which is norally applied to all input.
|
||||
<*> arbitrary `suchThat` all isAscii
|
||||
|
||||
instance Arbitrary MetaField where
|
||||
arbitrary = MetaField . CI.mk <$> arbitrary `suchThat` legalField
|
||||
arbitrary = MetaField . CI.mk
|
||||
<$> arbitrary `suchThat` legalField
|
||||
|
||||
prop_metadata_sane :: MetaData -> MetaField -> MetaValue -> Bool
|
||||
prop_metadata_sane m f v = and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue