All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v0 2/3] t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C
Date: Thu, 21 May 2009 03:22:28 -0700 (PDT)	[thread overview]
Message-ID: <m3ab56kb7y.fsf@localhost.localdomain> (raw)
In-Reply-To: <1242899229-27603-2-git-send-email-pclouds@gmail.com>

Nguyễn Thái Ngọc Duy    <pclouds@gmail.com> writes:

> These new tests make sure I don't miss any check being performed before
> rebase is proceeded (which is well tested by other tests)
> 
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
>  t/t3400-rebase.sh |   28 ++++++++++++++++++++++++++++
>  1 files changed, 28 insertions(+), 0 deletions(-)
> 
> diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh
> index 6e391a3..37f86ab 100755
> --- a/t/t3400-rebase.sh
> +++ b/t/t3400-rebase.sh
> @@ -41,9 +41,37 @@ test_expect_success \
>       git tag topic
>  '
>  
> +test_expect_success 'rebase on dirty worktree' '
> +     echo dirty >> A &&
> +     ! git rebase master'

Shouldn't you use test_must_fail instead? From t/test-lib.sh
(paraphrasing):

  Writing this as "! git rebase master" is wrong, because
  the failure could be due to a segv.  We want a controlled failure.

> +
> +test_expect_success 'rebase on dirty cache' '
> +     git add  A &&
> +     ! git rebase master'
> +
>  test_expect_success 'rebase against master' '
> +     git reset HEAD &&
> +     git checkout -f &&
>       git rebase master'
>  
> +test_expect_success 'rebase against master twice' '
> +	git rebase master 2>&1|grep "Current branch my-topic-branch is up to date\\."
> +'

It would be more readable to split this line on '|', i.e.:

+test_expect_success 'rebase against master twice' '
+	git rebase master 2>&1 |
+	grep "Current branch my-topic-branch is up to date\\."
+'

I think we prefer to save output to a file, and compare this file with
expected output (using test_cmp).  Additionally you can check if the
message you want is in correct stream (is in STDERR, and STDOUT is
empty).

> +
> +test_expect_success 'rebase against master twice with --force' '
> +	git rebase --force-rebase master 2>&1|grep "Current branch my-topic-branch is up to date, rebase forced"
> +'
> +
> +test_expect_success 'rebase against master twice from another branch' '
> +	git checkout my-topic-branch^ &&
> +	git rebase master my-topic-branch 2>&1|grep "Current branch my-topic-branch is up to date\\."
> +'
> +
> +test_expect_success 'rebase fast-forward to master' '
> +	git checkout my-topic-branch^ &&
> +	git rebase my-topic-branch 2>&1|grep "Fast-forwarded HEAD to my-topic-branch"
> +'

Same as above.

> +
>  test_expect_success \
>      'the rebase operation should not have destroyed author information' \
>      '! (git log | grep "Author:" | grep "<>")'

Errrr... what?  Why git-log and not git-cat-file?  Why grep twice?
Additionally you do not check here that author is unchanged, only that
is not destroyed.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

  parent reply	other threads:[~2009-05-21 10:22 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-21  9:47 [PATCH v0 1/3] doc/git-rebase.txt: remove mention of multiple strategies Nguyễn Thái Ngọc Duy
2009-05-21  9:47 ` [PATCH v0 2/3] t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C Nguyễn Thái Ngọc Duy
2009-05-21  9:47   ` [PATCH v0 3/3] Build in git-rebase.sh Nguyễn Thái Ngọc Duy
2009-05-21 10:25     ` Jakub Narebski
2009-05-21 10:44       ` Nguyen Thai Ngoc Duy
2009-05-21 12:29         ` Jakub Narebski
2009-05-21 22:57           ` Nguyen Thai Ngoc Duy
2009-05-21 14:39     ` Junio C Hamano
2009-05-22  6:56     ` Johannes Sixt
2009-05-22  7:30       ` Nguyen Thai Ngoc Duy
2009-05-23  9:26         ` Nguyen Thai Ngoc Duy
2009-05-23 14:50           ` Nguyen Thai Ngoc Duy
2009-05-25  6:16             ` Johannes Sixt
2009-05-25  6:34               ` Nguyen Thai Ngoc Duy
2009-05-25  6:47                 ` Johannes Sixt
2009-05-25  7:00                   ` Nguyen Thai Ngoc Duy
2009-05-25  7:39                     ` Nguyen Thai Ngoc Duy
2009-05-21 10:22   ` Jakub Narebski [this message]
2009-05-21 10:39     ` [PATCH v0 2/3] t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C Nguyen Thai Ngoc Duy
2009-05-21 14:22   ` Junio C Hamano
2009-05-23 15:31     ` [PATCH " Nguyễn Thái Ngọc Duy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3ab56kb7y.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.