Thread (4 messages) flat view 4 messages, 2 authors, 2017-08-09

Re: t3700 broken on pu on Cygwin

From: René Scharfe <hidden>
Date: 2017-08-08 15:32:33

Am 08.08.2017 um 17:18 schrieb Adam Dinwoodie:
The t3700-add.sh test is currently failing on the pu branch on Cygwin.
To my surprise, the problem appears to have been introduced by a merge,
867fa1d6a.  Both parents of that merge have the test succeeding, but
it's failing on that merge commit.

Failing test output below:
     expecting success:
     		git reset --hard &&
     		echo foo >foo3 &&
     		git add foo3 &&
     		git add --chmod=+x foo3 &&
     		test_mode_in_index 100755 foo3 &&
     		echo foo >xfoo3 &&
     		chmod 755 xfoo3 &&
     		git add xfoo3 &&
     		git add --chmod=-x xfoo3 &&
     		test_mode_in_index 100644 xfoo3

     ++ git reset --hard
     HEAD is now at d12df1f commit all
     ++ echo foo
     ++ git add foo3
     ++ git add --chmod=+x foo3
     ++ test_mode_in_index 100755 foo3
     ++ case "$(git ls-files -s "$2")" in
     +++ git ls-files -s foo3
     ++ echo pass
     pass
     ++ echo foo
     ++ chmod 755 xfoo3
     ++ git add xfoo3
     ++ git add --chmod=-x xfoo3
     cannot chmod 'xfoo3'++ test_mode_in_index 100644 xfoo3
     ++ case "$(git ls-files -s "$2")" in
     +++ git ls-files -s xfoo3
     ++ echo fail
     fail
     ++ git ls-files -s xfoo3
     120000 c5c4ca97a3a080c32920941b665e94a997901491 0       xfoo3
     ++ return 1
     + test_eval_ret_=1
     + want_trace
     + test t = t
     + test t = t
     + set +x
     error: last command exited with $?=1
     not ok 41 - git add --chmod=[+-]x changes index with already added file
     #
     #               git reset --hard &&
     #               echo foo >foo3 &&
     #               git add foo3 &&
     #               git add --chmod=+x foo3 &&
     #               test_mode_in_index 100755 foo3 &&
     #               echo foo >xfoo3 &&
     #               chmod 755 xfoo3 &&
     #               git add xfoo3 &&
     #               git add --chmod=-x xfoo3 &&
     #               test_mode_in_index 100644 xfoo3
     #
That's strange.  The two changes don't seem to be related at all:

  diff --git a/t/t3700-add.sh b/t/t3700-add.sh
  index f3a4b4a913..06e3835efb 100755
  --- a/t/t3700-add.sh
  +++ b/t/t3700-add.sh
  @@ -331,9 +331,8 @@ test_expect_success 'git add --dry-run --ignore-missing of non-existing file out
          test_i18ncmp expect.err actual.err
   '
  
  -test_expect_success 'git add empty string should invoke warning' '
  -       git add "" 2>output &&
  -       test_i18ngrep "warning: empty strings" output
  +test_expect_success 'git add empty string should fail' '
  +       test_must_fail git add ""
   '
  
   test_expect_success 'git add --chmod=[+-]x stages correctly' '
  @@ -355,7 +354,7 @@ test_expect_success POSIXPERM,SYMLINKS 'git add --chmod=+x with symlinks' '
   '
  
   test_expect_success 'git add --chmod=[+-]x changes index with already added file' '
  -       rm -f foo3 xfoo3 &&
  +       git reset --hard &&
          echo foo >foo3 &&
          git add foo3 &&
          git add --chmod=+x foo3 &&

The only difference I can see being introduced with the first change
is that the file "output" is gone now.

Does it help to add the "rm -f foo3 xfoo3 &&" back, in addition to
the "git reset --hard"?

Thanks,
René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help