From: Jonathan Nieder <jrnieder@gmail.com>
To: Jens Lehmann <Jens.Lehmann@web.de>
Cc: Junio C Hamano <gitster@pobox.com>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH 1/7] tests: subshell indentation stylefix
Date: Mon, 6 Sep 2010 22:44:17 -0500 [thread overview]
Message-ID: <20100907034417.GL1182@burratino> (raw)
In-Reply-To: <20100907014254.GB1182@burratino>
Jonathan Nieder wrote:
> Format the subshells introduced by the previous patch (Several tests:
> cd inside subshell instead of around, 2010-09-06)
Review of said previous patch follows. Sorry for the confusing diffs.
> --- a/t/t1020-subdirectory.sh
> +++ b/t/t1020-subdirectory.sh
> @@ -27,12 +27,13 @@ test_expect_success 'update-index and ls-files' '
> one) echo pass one ;;
> *) echo bad one; exit 1 ;;
> esac &&
> - (cd dir &&
> - git update-index --add two &&
> - case "`git ls-files`" in
> - two) echo pass two ;;
> - *) echo bad two; exit 1 ;;
> - esac
> + (
> + cd dir &&
> + git update-index --add two &&
> + case "`git ls-files`" in
> + two) echo pass two ;;
> + *) echo bad two; exit 1 ;;
> + esac
> ) &&
Trapping the "exit" in a subshell improves behavior. I wonder why the
script does not use "false" or "(exit 1)"; the tests outside the
subshell have the same problem...
> --- a/t/t4041-diff-submodule-option.sh
> +++ b/t/t4041-diff-submodule-option.sh
> @@ -85,9 +85,10 @@ EOF
> "
>
> commit_file sm1 &&
> -head3=$(cd sm1 &&
> -git reset --hard HEAD~2 >/dev/null &&
> -git rev-parse --verify HEAD | cut -c1-7
> +head3=$(
> + cd sm1 &&
> + git reset --hard HEAD~2 >/dev/null &&
> + git rev-parse --verify HEAD | cut -c1-7
Unrelated: the --verify here does not have much effect on the upstream
of a pipeline. Maybe "git log -1 --abbrev=7 --format=%h", or even
better, "git log -1 --format=%h" (for DEFAULT_ABBREV) would do the
trick.
> --- a/t/t9100-git-svn-basic.sh
> +++ b/t/t9100-git-svn-basic.sh
> @@ -22,16 +22,17 @@ esac
> test_expect_success \
> 'initialize git svn' '
> mkdir import &&
> - (cd import &&
> - echo foo > foo &&
> - ln -s foo foo.link
> - mkdir -p dir/a/b/c/d/e &&
> - echo "deep dir" > dir/a/b/c/d/e/file &&
> - mkdir bar &&
> - echo "zzz" > bar/zzz &&
> - echo "#!/bin/sh" > exec.sh &&
> - chmod +x exec.sh &&
> - svn_cmd import -m "import for git svn" . "$svnrepo" >/dev/null
> + (
> + cd import &&
> + echo foo >foo &&
> + ln -s foo foo.link
Missing SYMLINKS prerequisite?
> --- a/t/t9107-git-svn-migrate.sh
> +++ b/t/t9107-git-svn-migrate.sh
> @@ -6,14 +6,16 @@ test_description='git svn metadata migrations from previous versions'
> test_expect_success 'setup old-looking metadata' '
> cp "$GIT_DIR"/config "$GIT_DIR"/config-old-git-svn &&
> mkdir import &&
> - (cd import &&
> - for i in trunk branches/a branches/b \
> - tags/0.1 tags/0.2 tags/0.3; do
> - mkdir -p $i && \
> - echo hello >> $i/README || exit 1
> - done && \
> + (
> + cd import &&
> + for i in trunk branches/a branches/b tags/0.1 tags/0.2 tags/0.3
> + do
> + mkdir -p $i &&
> + echo hello >>$i/README ||
> + exit 1
An "exit" to avoid wasting time after a failing setup test might seem
appropriate, but I am happier to see it trapped by the subshell.
> --- a/t/t9116-git-svn-log.sh
> +++ b/t/t9116-git-svn-log.sh
> @@ -8,14 +8,16 @@ test_description='git svn log tests'
>
> test_expect_success 'setup repository and import' '
> mkdir import &&
> - (cd import &&
> - for i in trunk branches/a branches/b \
> - tags/0.1 tags/0.2 tags/0.3; do
> - mkdir -p $i && \
> - echo hello >> $i/README || exit 1
> - done && \
> + (
> + cd import &&
> + for i in trunk branches/a branches/b tags/0.1 tags/0.2 tags/0.3
> + do
> + mkdir -p $i &&
> + echo hello >>$i/README ||
> + exit 1
Likewise.
> --- a/t/t9119-git-svn-info.sh
> +++ b/t/t9119-git-svn-info.sh
> @@ -179,11 +186,13 @@ test_expect_success 'info --url added-directory' '
> '
>
> test_expect_success 'info added-symlink-file' "
> - (cd gitwc &&
> + (
> + cd gitwc &&
> ln -s added-file added-symlink-file &&
> git add added-symlink-file
> ) &&
> - (cd svnwc &&
> + (
> + cd svnwc &&
> ln -s added-file added-symlink-file &&
More missing SYMLINKS prerequisites.
To summarize, wherever you change behavior, it is improved. Thanks.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
next prev parent reply other threads:[~2010-09-07 3:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-06 18:39 [PATCH] Several tests: cd inside subshell instead of around Jens Lehmann
2010-09-06 19:06 ` Jonathan Nieder
2010-09-06 20:12 ` Jens Lehmann
2010-09-07 1:41 ` [PATCH 0/7] " Jonathan Nieder
2010-09-07 1:42 ` [PATCH 1/7] tests: subshell indentation stylefix Jonathan Nieder
2010-09-07 3:44 ` Jonathan Nieder [this message]
2010-09-07 1:47 ` [PATCH 2/7] t1450 (fsck): remove dangling objects Jonathan Nieder
2010-09-07 1:49 ` [PATCH 3/7] t2105 (gitfile): add missing && Jonathan Nieder
2010-09-07 12:57 ` Brad King
2010-09-07 1:50 ` [PATCH 4/7] t0004 (unwritable files): simplify error handling Jonathan Nieder
2010-09-07 1:52 ` [PATCH 5/7] t1302 (core.repositoryversion): style tweaks Jonathan Nieder
2010-09-07 23:45 ` Nguyen Thai Ngoc Duy
2010-09-07 1:53 ` [PATCH 6/7] t1303 (config): " Jonathan Nieder
2010-09-07 4:30 ` Jeff King
2010-09-07 4:52 ` Junio C Hamano
2010-09-07 5:27 ` Jonathan Nieder
2010-09-07 5:12 ` guarding everything with test_expect_success (Re: [PATCH 6/7] t1303 (config): style tweaks) Jonathan Nieder
2010-09-07 5:56 ` Jeff King
2010-09-07 6:12 ` Jonathan Nieder
2010-09-07 1:55 ` [PATCH/RFC 7/7] t2016 (checkout -p): use printf for multiline y/n input Jonathan Nieder
2010-09-07 8:06 ` Thomas Rast
2010-09-07 8:22 ` Jonathan Nieder
2010-09-06 23:16 ` [PATCH] Several tests: cd inside subshell instead of around Junio C Hamano
2010-09-07 2:37 ` Jonathan Nieder
2010-09-07 5:08 ` Junio C Hamano
2010-09-07 5:19 ` Jonathan Nieder
2010-09-07 10:29 ` [PATCH] t1020: Get rid of 'cd "$HERE"' at the start of each test Jens Lehmann
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=20100907034417.GL1182@burratino \
--to=jrnieder@gmail.com \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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.