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

Re: Git 2.26.2 and failed self tests on OS X

From
JWJeffrey Walton <noloader@gmail.com>
Date
May 4, 2020, 19:20 UTC
Message-ID
<CAH8yC8=zsbXDVV99tdBMHwEhr-=dO=wrwBYZi=0J8iFmUHkk=g@mail.gmail.com>
In-Reply-To
<20200504190830.g2tlrognjw6ddipo@tb-raspi4>
On Mon, May 4, 2020 at 3:08 PM Torsten Bögershausen <tboegi@web.de> wrote:
Show 29 quoted lines
>
> On Mon, May 04, 2020 at 01:18:06PM -0400, Eric Sunshine wrote:
> > On Mon, May 4, 2020 at 12:52 PM Carlo Marcelo Arenas Belón
> > <carenas@gmail.com> wrote:
> > > On Mon, May 04, 2020 at 03:03:01AM -0400, Jeffrey Walton wrote:
> > > > I'm building Git 2.26.2 from sources on a Mac-mini with OS X 10.12.6
> > > > and a PowerMac with OS X 10.5. Some of the t3902-quoted.sh tests are
> > > > failing.
> > > >
> > > > The Mac-Mini uses Bash 3.2.57(1)-release. The PowerMac uses 3.2.17(1)-release.
> > >
> > > if the problem is the bash version but you can build/install a newer one that
> > > doesn't have this problem [...]
> >
> > My OS X 10.13.6 has Bash 3.2.57, as well, and I'm unable to reproduce
> > these failures, so it seems fairly unlikely that the problem Jeffrey
> > is seeing isn't tied to Bash.
>
> Should I read this as
> ".. seems fairly likely that the problem Jeffrey is seeing is tied to bash" ?
>
> I can't reproduce it either, so my reasoning would rather be
> "The problem is probably not caused by the shipped bash version"
>
> It could be something in the environemt, that confuses our tests here.
>
> Does
> ./t3902-quoted.sh   -v -d
> give anything useful ?
Yes, it looks like the command reveals a couple of problems.

I'll have to look into my iconv recipe. It has not changed in a while, so something else may be responsible for the failure. https://github.com/noloader/Build-Scripts/blob/master/build-iconv.sh.

I'm not sure what to do with the HEAD problems.

$ ./t3902-quoted.sh -v -d Initialized empty Git repository in /Users/jwalton/Build-Scripts/git-2.26.2/t/trash directory.t3902-quoted/.git/ expecting success of 3902.1 'setup':

        mkdir "$FN" &&
        for_each_name "echo initial >\"\$name\"" &&
        git add . &&
        git commit -q -m Initial &&
        for_each_name "echo second >\"\$name\"" &&
        git commit -a -m Second &&
        for_each_name "echo modified >\"\$name\""
fatal: iconv_open(UTF-8,UTF-8-MAC) failed, but needed:
    precomposed unicode is not supported.
    If you want to use decomposed unicode, run
    "git config core.precomposeunicode false"

not ok 1 - setup # # # mkdir "$FN" && # for_each_name "echo initial >\"\$name\"" && # git add . && # git commit -q -m Initial && # # for_each_name "echo second >\"\$name\"" && # git commit -a -m Second && # # for_each_name "echo modified >\"\$name\"" # #

expecting success of 3902.2 'setup expected files': cat >expect.quoted <<\EOF && Name "Name and a\nLF" "Name and an\tHT" "Name\"" With SP in it "\346\277\261\351\207\216\t\347\264\224" "\346\277\261\351\207\216\n\347\264\224" "\346\277\261\351\207\216 \347\264\224" "\346\277\261\351\207\216\"\347\264\224" "\346\277\261\351\207\216/file" "\346\277\261\351\207\216\347\264\224" EOF

cat >expect.raw <<\EOF Name "Name and a\nLF" "Name and an\tHT" "Name\"" With SP in it "濱野\t純" "濱野\n純" 濱野 純 "濱野\"純" 濱野/file 濱野純 EOF

ok 2 - setup expected files
expecting success of 3902.3 'check fully quoted output from ls-files':
        git ls-files >current && test_cmp expect.quoted current

--- expect.quoted 2020-05-04 19:14:39.000000000 +0000 +++ current 2020-05-04 19:14:39.000000000 +0000

@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"\346\277\261\351\207\216\t\347\264\224"
-"\346\277\261\351\207\216\n\347\264\224"
-"\346\277\261\351\207\216 \347\264\224"
-"\346\277\261\351\207\216\"\347\264\224"
-"\346\277\261\351\207\216/file"
-"\346\277\261\351\207\216\347\264\224"
not ok 3 - check fully quoted output from ls-files
#
#
#               git ls-files >current && test_cmp expect.quoted current
#
#

expecting success of 3902.4 'check fully quoted output from diff-files':

        git diff --name-only >current &&
        test_cmp expect.quoted current


--- expect.quoted       2020-05-04 19:14:39.000000000 +0000
+++ current     2020-05-04 19:14:39.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"\346\277\261\351\207\216\t\347\264\224"
-"\346\277\261\351\207\216\n\347\264\224"
-"\346\277\261\351\207\216 \347\264\224"
-"\346\277\261\351\207\216\"\347\264\224"
-"\346\277\261\351\207\216/file"
-"\346\277\261\351\207\216\347\264\224"
not ok 4 - check fully quoted output from diff-files
#
#
#               git diff --name-only >current &&
#               test_cmp expect.quoted current
#
#

expecting success of 3902.5 'check fully quoted output from diff-index':

        git diff --name-only HEAD >current &&
        test_cmp expect.quoted current


fatal: ambiguous argument 'HEAD': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 5 - check fully quoted output from diff-index
#
#
#               git diff --name-only HEAD >current &&
#               test_cmp expect.quoted current
#
#

expecting success of 3902.6 'check fully quoted output from diff-tree':

        git diff --name-only HEAD^ HEAD >current &&
        test_cmp expect.quoted current


fatal: ambiguous argument 'HEAD^': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 6 - check fully quoted output from diff-tree
#
#
#               git diff --name-only HEAD^ HEAD >current &&
#               test_cmp expect.quoted current
#
#

expecting success of 3902.7 'check fully quoted output from ls-tree':

        git ls-tree --name-only -r HEAD >current &&
        test_cmp expect.quoted current


fatal: Not a valid object name HEAD
not ok 7 - check fully quoted output from ls-tree
#
#
#               git ls-tree --name-only -r HEAD >current &&
#               test_cmp expect.quoted current
#
#

expecting success of 3902.8 'setting core.quotepath':

        git config --bool core.quotepath false


ok 8 - setting core.quotepath

expecting success of 3902.9 'check fully quoted output from ls-files':

        git ls-files >current && test_cmp expect.raw current


--- expect.raw  2020-05-04 19:14:39.000000000 +0000
+++ current     2020-05-04 19:14:40.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"濱野\t純"
-"濱野\n純"
-濱野 純
-"濱野\"純"
-濱野/file
-濱野純
not ok 9 - check fully quoted output from ls-files
#
#
#               git ls-files >current && test_cmp expect.raw current
#
#

expecting success of 3902.10 'check fully quoted output from diff-files':

        git diff --name-only >current &&
        test_cmp expect.raw current


--- expect.raw  2020-05-04 19:14:39.000000000 +0000
+++ current     2020-05-04 19:14:40.000000000 +0000
@@ -1,11 +0,0 @@
-Name
-"Name and a\nLF"
-"Name and an\tHT"
-"Name\""
-With SP in it
-"濱野\t純"
-"濱野\n純"
-濱野 純
-"濱野\"純"
-濱野/file
-濱野純
not ok 10 - check fully quoted output from diff-files
#
#
#               git diff --name-only >current &&
#               test_cmp expect.raw current
#
#

expecting success of 3902.11 'check fully quoted output from diff-index':

        git diff --name-only HEAD >current &&
        test_cmp expect.raw current


fatal: ambiguous argument 'HEAD': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 11 - check fully quoted output from diff-index
#
#
#               git diff --name-only HEAD >current &&
#               test_cmp expect.raw current
#
#

expecting success of 3902.12 'check fully quoted output from diff-tree':

        git diff --name-only HEAD^ HEAD >current &&
        test_cmp expect.raw current


fatal: ambiguous argument 'HEAD^': unknown revision or path not in the
working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
not ok 12 - check fully quoted output from diff-tree
#
#
#               git diff --name-only HEAD^ HEAD >current &&
#               test_cmp expect.raw current
#
#

expecting success of 3902.13 'check fully quoted output from ls-tree':

        git ls-tree --name-only -r HEAD >current &&
        test_cmp expect.raw current


fatal: Not a valid object name HEAD
not ok 13 - check fully quoted output from ls-tree
#
#
#               git ls-tree --name-only -r HEAD >current &&
#               test_cmp expect.raw current
#
#

# failed 11 among 13 test(s)
1..13
Previous: Eric SunshineNext: Torsten Bögershausen
Message 7 of 15 in “Git 2.26.2 and failed self tests on OS X”
  1. Jeffrey WaltonMay 4, 2020
  2. Eric SunshineMay 4, 2020
  3. Carlo Marcelo Arenas BelónMay 4, 2020
  4. Eric SunshineMay 4, 2020
  5. Torsten BögershausenMay 4, 2020
  6. Eric SunshineMay 4, 2020
  7. Jeffrey WaltonMay 4, 2020
  8. Torsten BögershausenMay 4, 2020
  9. Jeffrey WaltonMay 4, 2020
  10. Jeffrey WaltonMay 4, 2020
  11. Torsten BögershausenMay 5, 2020
  12. Philippe BlainMay 5, 2020
  13. Jeffrey WaltonMay 6, 2020
  14. Jeffrey WaltonMay 7, 2020
  15. Jeffrey WaltonMay 6, 2020

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.