t7900-*.sh tesr #5 failure
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
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_configindexhelper.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_configindexhelper.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_WATCHMANis
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_WATCHMANbeing 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_indexandwrite_watchman_extsymbols?
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_emptyerr &&' would read better!]
Will fix, thanks.