Re: [PATCH v3 19/21] t: add tests for switch
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Mar 10, 2019, 03:59 UTC
- Message-ID
- <CAPig+cTADoua2G2rqyr_2-dqRPsK0Jzsxtkgvv5Gr-iasDA=VA@mail.gmail.com>
- In-Reply-To
- <20190308095752.8574-20-pclouds@gmail.com>
On Fri, Mar 8, 2019 at 4:59 AM Nguyễn Thái Ngọc Duy <pclouds@gmail.com> wrote:
Show 5 quoted lines
> diff --git a/t/t2060-switch.sh b/t/t2060-switch.sh
> @@ -0,0 +1,87 @@
> +test_expect_success 'switch to a commit' '
> + test_must_fail git switch master^{commit}
> +'The title of this test was a bit misleading for me; I would have found it easier to understand what's being tested had it said "switch without --detach" or something.
Show 5 quoted lines
> +test_expect_success 'switch and detach' '
> + test_when_finished git switch master &&
> + git switch --detach master^{commit} &&
> + test_must_fail git symbolic-ref HEAD
> +'In fact, if the two tests were combined, it would have been even clearer (for me):
test_expect_success 'switch and detach' '
test_when_finished git switch master &&
test_must_fail git switch master^{commit} &&
git switch --detach master^{commit} &&
test_must_fail git symbolic-ref HEAD
'Not worth a re-roll.
Show 18 quoted lines
> +test_expect_success 'switch and create branch' ' > + test_when_finished git switch master && > + git switch -c temp master^ && > + test_cmp_rev master^ refs/heads/temp && > + echo refs/heads/temp >expected-branch && > + git symbolic-ref HEAD >actual-branch && > + test_cmp expected-branch actual-branch > +' > + > +test_expect_success 'force create branch from HEAD' ' > + test_when_finished git switch master && > + git switch --detach master && > + git switch -C temp && > + test_cmp_rev master refs/heads/temp && > + echo refs/heads/temp >expected-branch && > + git symbolic-ref HEAD >actual-branch && > + test_cmp expected-branch actual-branch > +'
Maybe also demonstrate that -C is actually needed here by leading in with a failing -c:
...
git switch --detach master &&
test_must_fail git switch -c temp &&
git switch -C temp &&
...Not worth a re-roll.
Show 8 quoted lines
> +test_expect_success 'guess and create branch ' ' > + test_when_finished git switch master && > + test_must_fail git switch foo && > + git switch --guess foo && > + echo refs/heads/foo >expected && > + git symbolic-ref HEAD >actual && > + test_cmp expected actual > +'
The above suggestions about --detach/-C reflect how you did it in this test, in which you first try "git switch foo" without the --guess option, expecting it to fail, and then repeat with the option, expecting it to succeed.