Re: [PATCH 1/2] t3200-branch: test setting branch as own upstream
- From
Jeff King <peff@peff.net>
- Date
- Feb 28, 2014, 06:27 UTC
- Message-ID
- <20140228062715.GE32556@sigill.intra.peff.net>
- In-Reply-To
- <CAN7MxmWP9N==0DnoE-0=Xr7NWkNMSGBC+yiz1a3wS5EbHigvKg@mail.gmail.com>
On Fri, Feb 28, 2014 at 03:17:28PM +0900, Brian Gesiak wrote:
Show 8 quoted lines
> > For an operation like "git branch foo origin" where setting up the > > tracking is a side effect, a warning makes sense. But the sole purpose > > of the command above is to set the upstream, and we didn't do it; should > > this warning actually be upgraded to an error? > > I agree. I originally wrote the test using test_expect_failure--imagine my > surprise when the exit status was 0, despite the fact that the upstream wasn't > set!
For reference, you don't want test_expect_failure here; it is about "we want this to succeed, but git is currently buggy and we know it, so mark it as a failing test". You want test_must_fail to indicate a command inside a test that must exit non-zero:
test_expect_success 'pointing upstream to itself fails' '
test_must_fail git branch -u ...
'I notice that the warning comes from install_branch_config, which gets used both for "branch -u", but also in the "side effect" case I mentioned above. Is it possible to trigger this as part of such a case? I think maybe "git branch -f --track foo foo" would do it. If so, we should perhaps include a test that it does not break if we upgrade the "-u" case to an error.
> Patch is on the way, just waiting for the tests to complete. Thanks > for pointing that out! Also, sorry if it's in the Makefile somewhere, > but is there an easy way to run just a single test file in the t > directory?
You can run "./tXXXX-....sh" explicitly.
-Peff