Am 09.04.2017 um 21:11 schrieb Ævar Arnfjörð Bjarmason:
This series changes the test library so that we interpolate the result
of:
perl -e 'print join q[], grep { /[^[:alnum:]]/ and !m<[./]> } map chr, 0x01..0x7f'
Into the trash directory name we generate. Doing this makes 30% of the
test suite fail.
Wow.
I know that I tend to bring out weird errors in systems, but this is
much deeper than I could have ever expected.
You might want to additionally test directory names like "asdf" and
'asdf' - some shell might try to be smart about such names and
automatically unquote them. This would probably mean running the test
suite multiple times, which some people find offensive (myself included).
There's also high-bit characters that might cause oddness. 0x80 and 0xff
look like interesting edge cases to me.
Note that just appending these bytes is going to cause failures with
filesystems that expect UTF-8 file names, you'd want to use a Unicode
code point that gets encoded using a 0x80 resp. 0xff byte (I suspect
0xff is actually not a valid UTF-8 encoding at all but I'd have to
double-check that).
Is git supposed to run fine under Windows, or under Linux with an ntfs
filesystem driver?
If yes, then I'd expect this patch to cause the other 70% of tests to
crash, because NTFS forbids several non-alnum printable characters,
among them <=>\