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

Re: [PATCHv6 16/16] Introduce portable_unset and use it to ensure proper && chaining

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Oct 4, 2010, 03:26 UTC
Message-ID
<AANLkTinU_fv7pJqw_ghM4RoF6dsiV8PFM3GgCqD-hh7L@mail.gmail.com>
In-Reply-To
<1286136014-7728-17-git-send-email-newren@gmail.com>
On Sun, Oct 3, 2010 at 20:00, Elijah Newren <newren@gmail.com> wrote:
Show 31 quoted lines
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
> Signed-off-by: Elijah Newren <newren@gmail.com>
> ---
>  t/README          |   13 +++++--------
>  t/t0001-init.sh   |   28 ++++++++++++++--------------
>  t/t7006-pager.sh  |   10 +++++-----
>  t/t7502-commit.sh |    4 ++--
>  t/test-lib.sh     |   11 +++++++++++
>  5 files changed, 37 insertions(+), 29 deletions(-)
>
> diff --git a/t/README b/t/README
> index ee4c0cf..e10c0ce 100644
> --- a/t/README
> +++ b/t/README
> @@ -259,14 +259,11 @@ Do:
>        test ...
>
>    That way all of the commands in your tests will succeed or fail. If
> -   you must ignore the return value of something (e.g., the return
> -   after unsetting a variable that was already unset is unportable) it's
> -   best to indicate so explicitly with a semicolon:
> -
> -       unset HLAGH;
> -       git merge hla &&
> -       git push gh &&
> -       test ...
> +   you must ignore the return value of something, consider using a
> +   helper function (e.g. use portable_unset instead of unset, in order
> +   to avoid unportable return value for unsetting a variable that was
> +   already unset), or prepending the command with test_might_fail or
> +   test_must_fail.
This should be:
    diff --git a/t/README b/t/README
    index a1eb7c8..dc4b9d1 100644
    --- a/t/README
    +++ b/t/README
    @@ -259,11 +259,10 @@ Do:
            test ...
        That way all of the commands in your tests will succeed or fail. If
    -   you must ignore the return value of something (e.g., the return
    -   after unsetting a variable that was already unset is unportable) it's
    -   best to indicate so explicitly with a semicolon:
    +   you must ignore the return value of something it's best to indicate
    +   so explicitly with a test_might_fail:
    -       unset HLAGH;
    +       test_might_fail some-command &&
            git merge hla &&
            git push gh &&
            test ...
    @@ -522,6 +521,10 @@ library for your script to use.
                    ...
            '
    + - portable_unset <variable>
    +
    +   .....
    +
     Prerequisites
     -------------

Or something like that. I don't know if we came to an agreement on using test_might_fail for non-builtins, but the docs on do's & dont's should mention how to do that, and portable_unset should be documented in a new section in "Test harness library".

Previous: Elijah NewrenNext: Jonathan Nieder
Message 50 of 62 in “[PATCHv6 00/16] Add missing &&'s in the testsuite”
  1. Elijah NewrenOct 3, 2010
  2. 01/16 test-lib: make test_expect_code a test commandElijah Newren, Oct 3, 2010
  3. Junio C HamanoOct 4, 2010
  4. Ævar Arnfjörð BjarmasonOct 4, 2010
  5. Jonathan NiederOct 4, 2010
  6. Ævar Arnfjörð BjarmasonOct 4, 2010
  7. Jonathan NiederOct 4, 2010
  8. Ævar Arnfjörð BjarmasonOct 4, 2010
  9. Jonathan NiederOct 4, 2010
  10. Ævar Arnfjörð BjarmasonOct 4, 2010
  11. 02/16 t3020 (ls-files-error-unmatch): remove stray '1' from end of fileElijah Newren, Oct 3, 2010
  12. Junio C HamanoOct 4, 2010
  13. 03/16 t4017 (diff-retval): replace manual exit code check with test_expect_codeElijah Newren, Oct 3, 2010
  14. 04/16 t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&Elijah Newren, Oct 3, 2010
  15. 05/16 t4002 (diff-basic): use test_might_fail for commands that might failElijah Newren, Oct 3, 2010
  16. 06/16 t4202 (log): Replace '<git-command> || :' with test_might_failElijah Newren, Oct 3, 2010
  17. 07/16 t3600 (rm): add lots of missing &&Elijah Newren, Oct 3, 2010
  18. Jonathan NiederOct 3, 2010
  19. Junio C HamanoOct 3, 2010
  20. 08/16 t4019 (diff-wserror): add lots of missing &&Elijah Newren, Oct 3, 2010
  21. 09/16 t4026 (color): remove unneeded and unchained commandElijah Newren, Oct 3, 2010
  22. 10/16 t5602 (clone-remote-exec): add missing &&Elijah Newren, Oct 3, 2010
  23. 11/16 t6016 (rev-list-graph-simplify-history): add missing &&Elijah Newren, Oct 3, 2010
  24. 12/16 t7001 (mv): add missing &&Elijah Newren, Oct 3, 2010
  25. 13/16 t7601 (merge-pull-config): add missing &&Elijah Newren, Oct 3, 2010
  26. 14/16 t7800 (difftool): add missing &&Elijah Newren, Oct 3, 2010
  27. 15/16 Add missing &&'s throughout the testsuiteElijah Newren, Oct 3, 2010
  28. Jonathan NiederOct 3, 2010
  29. Jonathan NiederOct 3, 2010
  30. tests: add missing &&Jonathan Nieder, Oct 31, 2010
  31. Junio C HamanoOct 31, 2010
  32. 00/10 Re: [PATCH en/cascade-tests] tests: add missing &&Jonathan Nieder, Oct 31, 2010
  33. 01/10 tests: add missing &&, batch 2Jonathan Nieder, Oct 31, 2010
  34. 02/10 test-lib: introduce test_line_count to measure filesJonathan Nieder, Oct 31, 2010
  35. Junio C HamanoNov 9, 2010
  36. Ævar Arnfjörð BjarmasonNov 9, 2010
  37. 03/10 t6022 (renaming merge): chain test commands with &&Jonathan Nieder, Oct 31, 2010
  38. 04/10 t1502 (rev-parse --parseopt): test exit code from "-h"Jonathan Nieder, Oct 31, 2010
  39. 05/10 t1400 (update-ref): use test_must_failJonathan Nieder, Oct 31, 2010
  40. 06/10 t3301 (notes): use test_expect_code for clarityJonathan Nieder, Oct 31, 2010
  41. 07/10 t3404 (rebase -i): unroll test_commit loopsJonathan Nieder, Oct 31, 2010
  42. 08/10 t3404 (rebase -i): move comment to descriptionJonathan Nieder, Oct 31, 2010
  43. Junio C HamanoNov 17, 2010
  44. 09/10 t3404 (rebase -i): introduce helper to check position of HEADJonathan Nieder, Oct 31, 2010
  45. Junio C HamanoNov 17, 2010
  46. 10/10 t4124 (apply --whitespace): use test_might_failJonathan Nieder, Oct 31, 2010
  47. Junio C HamanoNov 9, 2010
  48. Elijah NewrenNov 5, 2010
  49. 16/16 Introduce portable_unset and use it to ensure proper && chainingElijah Newren, Oct 3, 2010
  50. Ævar Arnfjörð BjarmasonOct 4, 2010
  51. Jonathan NiederOct 4, 2010
  52. Junio C HamanoOct 4, 2010
  53. Jonathan NiederOct 4, 2010
  54. Jonathan NiederOct 3, 2010
  55. Ævar Arnfjörð BjarmasonOct 4, 2010
  56. Jonathan NiederOct 4, 2010
  57. Ævar Arnfjörð BjarmasonOct 4, 2010
  58. yj2133011Oct 4, 2010
  59. test-lib: &&-chaining testerJonathan Nieder, Oct 6, 2010
  60. Matthieu MoyOct 6, 2010
  61. Johannes SixtOct 6, 2010
  62. Sverre RabbelierOct 6, 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.