Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help