git-cvsserver test failures (still)
- From
Brian Gernhardt <benji@silverinsanity.com>
- Date
- Oct 3, 2007, 19:50 UTC
- Message-ID
- <A78B5F62-4FCC-4650-9B0D-0F64FEDB8423@silverinsanity.com>
Periodically I am reminded that the git-cvsserver does not pass it's tests (t9400-git-cvsserver.sh) on my machine, so I once again ask for help. The failing tests are: (they say skip because this is from the last "find other errors" run)
* skip 9: req_Root failure (strict-paths) * skip 11: req_Root failure (w/o strict-paths) * skip 13: req_Root failure (base-path)
No other tests fail, including other req_Root failure tests :
* ok 6: req_Root failure (relative pathname) * ok 7: req_Root failure (conflicting roots) * ok 15: req_Root failure (export-all w/o whitelist)
All three tests fail with the exact same error log:
E /Users/brian/dev/git/t/trash/gitcvs.git/ does not seem to be a valid GIT repository E error 1 /Users/brian/dev/git/t/trash/gitcvs.git/ is not a valid repository E Invalid root /Users/brian/dev/git/t/trash/gitcvs.git
This appears to be from git-cvsserver.perl:148-9:
req_Root('root', $line) # reuse Root
or die "E Invalid root $line \n";This fails the test suite because die() exits with code 255 (checked with "perl -e 'die'; echo $?"), which is outside what test_expect_failure accepts (see t/test-lib.sh:179).
My questions become: 1) Why hasn't this hit anyone else? 2) Is this where these tests are supposed to fail? 3) If it is, should the code be using print and exit 1 instead of die? 4) If not, should the test be altered to end with "|| false" or similar so the test passes?
I'd happily submit a patch to fix this, but don't know what the correct fix is.
~~ Brian Gernhardt