git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/7] Re: [PATCH] Several tests: cd inside subshell instead of around

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Sep 7, 2010, 01:41 UTC
Message-ID
<20100907014135.GA1182@burratino>
In-Reply-To
<4C854B36.6010606@web.de>
Jens Lehmann wrote:
> I think that makes a lot of sense. I think you would not only end up
> changing the indentation of many subshells (not only those that I
> added), you will also have to deal with tests using spaces instead of
> tabs for indentation. But these issues have to be addressed anyway ...

Hmm, it seems there are quite a lot of strange uses of subshells in tests. I have only started the task you describe. But here are a couple of patches of that kind.

Patch 1 re-indents the subshells you introduced. I have not checked that those subshells are all semantically neutral (and in fact some seem not to be, but I think for the better); in fact, the main goal of that patch is to help other people review yours.

Patch 2 teaches the fsck tests to use test_when_finished. This causes some pointless subshells to be removed, and more importantly, it fixes the cleanup to actually work, so there are no dangling objects by the end.

Patch 3 adds a missing && in t2105 (.git file pointing to .git dir). The style cleanup for that file has been done locally but I do not think it's worth sending yet.

Patch 4 teaches the "unwritable file" error handling tests to use test_when_finished. This causes some pointless subshells to be removed, and more importantly, it simplifies the script a lot.

Patch 5 is a style cleanup for the core.repositoryversion tests (mostly to do with formatting of subshells, but there are other things).

Patch 6: likewise, for the git config tests.
Patch 7 is perhaps iffy.  I find it easier to read
	printf "%s\n" some long list of lines
than
	(echo some; echo long; echo list; echo of; echo lines)

but others might disagree; anyway, this patch change the latter to the former (and adds a missing && while at it).

I hope such mundane patches are not too painful to read.
Jonathan Nieder (7):
  tests: subshell indentation stylefix
  t1450 (fsck): remove dangling objects
  t2105 (gitlink): add missing &&
  t0004 (core): simplify error handling
  t1302 (core.repositoryversion): style tweaks
  t1303 (config): style tweaks
  t2016 (checkout -p): use printf for multiline y/n input
 t/t0004-unwritable.sh                         |   52 +++-------
 t/t1020-subdirectory.sh                       |   13 ++-
 t/t1302-repo-version.sh                       |   75 +++++++++-----
 t/t1303-wacky-config.sh                       |   28 +++--
 t/t1450-fsck.sh                               |  138 ++++++++++++++----------
 t/t2016-checkout-patch.sh                     |   43 +++++---
 t/t2105-update-index-gitfile.sh               |    2 +-
 t/t3060-ls-files-with-tree.sh                 |   12 +-
 t/t3409-rebase-preserve-merges.sh             |   13 ++-
 t/t3903-stash.sh                              |    5 +-
 t/t4041-diff-submodule-option.sh              |    7 +-
 t/t5510-fetch.sh                              |   35 ++++---
 t/t6050-replace.sh                            |   46 +++++----
 t/t7400-submodule-basic.sh                    |   11 +-
 t/t7401-submodule-summary.sh                  |    7 +-
 t/t9100-git-svn-basic.sh                      |   21 ++--
 t/t9101-git-svn-props.sh                      |   33 ++++---
 t/t9102-git-svn-deep-rmdir.sh                 |   13 ++-
 t/t9104-git-svn-follow-parent.sh              |   56 ++++++-----
 t/t9105-git-svn-commit-diff.sh                |    7 +-
 t/t9106-git-svn-commit-diff-clobber.sh        |   30 +++---
 t/t9107-git-svn-migrate.sh                    |   16 ++--
 t/t9114-git-svn-dcommit-merge.sh              |    7 +-
 t/t9115-git-svn-dcommit-funky-renames.sh      |    7 +-
 t/t9116-git-svn-log.sh                        |   16 ++--
 t/t9119-git-svn-info.sh                       |   69 ++++++++-----
 t/t9120-git-svn-clone-with-percent-escapes.sh |    3 +-
 27 files changed, 433 insertions(+), 332 deletions(-)
-- 
1.7.2.3
Previous: Jens LehmannNext: Jonathan Nieder
Message 4 of 27 in “Several tests: cd inside subshell instead of around”
  1. Several tests: cd inside subshell instead of aroundJens Lehmann, Sep 6, 2010
  2. Jonathan NiederSep 6, 2010
  3. Jens LehmannSep 6, 2010
  4. 0/7 Re: [PATCH] Several tests: cd inside subshell instead of aroundJonathan Nieder, Sep 7, 2010
  5. 1/7 tests: subshell indentation stylefixJonathan Nieder, Sep 7, 2010
  6. Jonathan NiederSep 7, 2010
  7. 2/7 t1450 (fsck): remove dangling objectsJonathan Nieder, Sep 7, 2010
  8. 3/7 t2105 (gitfile): add missing &&Jonathan Nieder, Sep 7, 2010
  9. Brad KingSep 7, 2010
  10. 4/7 t0004 (unwritable files): simplify error handlingJonathan Nieder, Sep 7, 2010
  11. 5/7 t1302 (core.repositoryversion): style tweaksJonathan Nieder, Sep 7, 2010
  12. Nguyen Thai Ngoc DuySep 7, 2010
  13. 6/7 t1303 (config): style tweaksJonathan Nieder, Sep 7, 2010
  14. Jeff KingSep 7, 2010
  15. Junio C HamanoSep 7, 2010
  16. Jonathan NiederSep 7, 2010
  17. guarding everything with test_expect_success (Re: [PATCH 6/7] t1303 (config): style tweaks)Jonathan Nieder, Sep 7, 2010
  18. Jeff KingSep 7, 2010
  19. Jonathan NiederSep 7, 2010
  20. 7/7 t2016 (checkout -p): use printf for multiline y/n inputJonathan Nieder, Sep 7, 2010
  21. Thomas RastSep 7, 2010
  22. Jonathan NiederSep 7, 2010
  23. Junio C HamanoSep 6, 2010
  24. Jonathan NiederSep 7, 2010
  25. Junio C HamanoSep 7, 2010
  26. Jonathan NiederSep 7, 2010
  27. t1020: Get rid of 'cd "$HERE"' at the start of each testJens Lehmann, Sep 7, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.