git/list[1] front-page[2] threads[3] people[4] search[5] about
 

t0050-filesystem.sh unicode tests borked on dash shell

From
Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Date
Dec 21, 2010, 19:53 UTC
Message-ID
<4D1105B5.5070703@ramsay1.demon.co.uk>

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

Next: Jonathan Nieder
Message 1 of 6 in “t0050-filesystem.sh unicode tests borked on dash shell”
  1. Ramsay JonesDec 21, 2010
  2. t0050: fix printf format strings for portabilityJonathan Nieder, Dec 21, 2010
  3. Junio C HamanoDec 21, 2010
  4. Ramsay JonesDec 28, 2010
  5. Thomas RastDec 21, 2010
  6. Junio C HamanoDec 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.