t7900-*.sh tesr #5 failure

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

t7900-*.sh tesr #5 failure

Ramsay Jones-2
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


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: t7900-*.sh tesr #5 failure

David Turner
On Tue, 2016-05-03 at 22:34 +0100, Ramsay Jones wrote:

> 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!]

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.

> [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.

> 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.

> 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).

>     - 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.

>     - 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.

>     - 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).

>     - 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.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html