Skip to contentSkip to conversation

t7900-*.sh tesr #5 failure

DISCUSSION Ramsay Jones 2 participants 2 messages Jun 16, 2016

lore
Share & tools
lore
#0 lore raw

Hi David,

Test t7900.5 fails for me, thus:

  $ ./t7900-index-helper.sh -i -v -x -d

...

+ test -S .git/index-helper.sock
+ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)

err

nothing added to commit but untracked files present (use "git add" to track)
+ test -S .git/index-helper.sock
+ grep -q . err
error: last command exited with $?=1
not ok 5 - index-helper autorun works
#
# rm -f .git/index-helper.sock &&
# git status &&
# test_path_is_missing .git/index-helper.sock &&
# test_config indexhelper.autorun true &&
# git status &&
# test -S .git/index-helper.sock &&
# git status 2>err &&
# test -S .git/index-helper.sock &&
# ! grep -q . err &&
# git index-helper --kill &&
# test_config indexhelper.autorun false &&
# git status &&
# test_path_is_missing .git/index-helper.sock
#

  $ cd trash\ directory.t7900-index-helper/
  $ ls
  err  x.t
  $ cat err
  warning: We requested watchman support from index-helper, but it doesn't support it. Please use a version of git index-helper with watchman support.
  $ 

[Yes, that is one long line in err!]

[At least, this is one of the failures, I have also seen git status failing with a SIGPIPE.]

Note that I do not have the watchman libraries etc., so USE_WATCHMAN is not defined. Note also, that I had an instance of git-index-helper still running after the test failure (which I kill-ed).

I haven't spent any time debuging this, but some questions spring to mind:

- can index-helper be used without watchman support?

- why is index-helper requesting watchman support, when it was built without USE_WATCHMAN being defined?

- why is read-cache.o exporting the verify_index and write_watchman_ext symbols?

- is index-helper any use/help without watchman support?

- is '! grep -q . err' meant to determine if the err file is empty (ie git status did not issue an error message)? [if yes, maybe 'test_must_be_empty err &&' would read better!]

Unfortunately, I have to run now, ...

ATB,
Ramsay Jones

#1 lore raw
Quoted 46 lines · Ramsay Jones

Hi David,

Test t7900.5 fails for me, thus:

  $ ./t7900-index-helper.sh -i -v -x -d

...

+ test -S .git/index-helper.sock
+ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)

err

nothing added to commit but untracked files present (use "git add"
to track)
+ test -S .git/index-helper.sock
+ grep -q . err
error: last command exited with $?=1
not ok 5 - index-helper autorun works
#
# rm -f .git/index-helper.sock &&
# git status &&
# test_path_is_missing .git/index-helper.sock &&
# test_config indexhelper.autorun true &&
# git status &&
# test -S .git/index-helper.sock &&
# git status 2>err &&
# test -S .git/index-helper.sock &&
# ! grep -q . err &&
# git index-helper --kill &&
# test_config indexhelper.autorun false &&
# git status &&
# test_path_is_missing .git/index-helper.sock
#

  $ cd trash\ directory.t7900-index-helper/
  $ ls
  err  x.t
  $ cat err
  warning: We requested watchman support from index-helper, but it
doesn't support it. Please use a version of git index-helper with
watchman support.
  $ 
Quoted 1 line

[Yes, that is one long line in err!]

OK, the failure here is due to a bad check in the code -- it's intended that index-helper work without watchman. Will re-roll with a fix.

Quoted 3 lines

[At least, this is one of the failures, I have also seen git status failing
with a SIGPIPE.]

I'll add in a sig_ign on that.

Quoted 5 lines

Note that I do not have the watchman libraries etc., so USE_WATCHMAN is
not defined. Note also, that I had an instance of git-index-helper still
running after the test failure (which I kill-ed).

I missed a test_when_finished (note that in the case of test failures in debug mode, test_when_finished statements are not executed on failing tests, so you would still see an index-helper in that case; since test failures are not expected, that shouldn't be a problem).

Will fix, thanks.

Quoted 4 lines

I haven't spent any time debuging this, but some questions spring to mind:

- can index-helper be used without watchman support?

Yes (once I re-roll with the bug fix).

Quoted 2 lines

- why is index-helper requesting watchman support, when it was built without USE_WATCHMAN being defined?

It's not; the code that checks for that request is mistakenly detecting that it is.

Quoted 2 lines

- why is read-cache.o exporting hte verify_index and write_watchman_ext symbols?

verify_index should be used in index-helper but that somehow got lost in v3. Will fix on reroll.
write_watchman_ext is exported because index-helper currently uses it.

Quoted 1 line

- is index-helper any use/help without watchman support?

Yes for large indexes -- see the measurements in patch v3 (which is earlier in the series than watchman is introduced).

Quoted 3 lines

- is '! grep -q . err' meant to determine if the err file is empty (ie git status did not issue an error message)? [if yes, maybe 'test_must_be_empty err &&' would read better!]

Will fix, thanks.