t0050-filesystem.sh unicode tests borked on dash shell
From: Ramsay Jones <hidden>
Date: 2016-06-15 22:50:17
I noticed recently that the unicode tests, when run by the dash shell,
have not been working as designed. (The tests *pass*, but they are
*not* testing what was intended)
In order to demonstrate, I added an "false &&" line after the touch in
test #8, so that (on Ubuntu):
$ ./t0050-filesystem -i
ok 1 - see what we expect
ok 2 - detection of case insensitive filesystem during repo init
ok 3 - detection of filesystem w/o symlink support during repo init
ok 4 - setup case tests
ok 5 - rename (case change)
ok 6 - merge (case change)
not ok 7 - add (with different case) # TODO known breakage
not ok - 8 setup unicode normalization tests
#
#
# test_create_repo unicode &&
# cd unicode &&
# touch "$aumlcdiar" &&
# false &&
# git add "$aumlcdiar" &&
# git commit -m initial &&
# git tag initial &&
# git checkout -b topic &&
# git mv $aumlcdiar tmp &&
# git mv tmp "$auml" &&
# git commit -m rename &&
# git checkout -f master
#
#
$ ls trash\ directory.t0050-filesystem/unicode/
\x61\xcc\x88
$ bash t0050-filesystem -i
ok 1 - see what we expect
ok 2 - detection of case insensitive filesystem during repo init
ok 3 - detection of filesystem w/o symlink support during repo init
ok 4 - setup case tests
ok 5 - rename (case change)
ok 6 - merge (case change)
not ok 7 - add (with different case) # TODO known breakage
not ok - 8 setup unicode normalization tests
#
#
# test_create_repo unicode &&
# cd unicode &&
# touch "$aumlcdiar" &&
# false &&
# git add "$aumlcdiar" &&
# git commit -m initial &&
# git tag initial &&
# git checkout -b topic &&
# git mv $aumlcdiar tmp &&
# git mv tmp "$auml" &&
# git commit -m rename &&
# git checkout -f master
#
#
$ ls trash\ directory.t0050-filesystem/unicode/ | od -x
0000000 cc61 0a88
0000004
So bash works fine and I can avoid the problem by running the tests, thus:
$ SHELL_PATH=/bin/bash make NO_SVN_TESTS=1 test
Since I have an older dash, I compiled dash from source (my dash git repo
claims:
$ git describe --tags
v0.5.6-24-gb61ab0b
), but the result was exactly the same.
I afraid I don't have time to investigate this further at the moment ...
ATB,
Ramsay Jones