Web lists-archives.com

Re: [PATCH 0/2] test: Detect *lots* of bugs by adding non-alnum to trash dir names




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 <=>\