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

Re: [PATCHv5 01/16] test-lib: make test_expect_code a test command

From
Elijah Newren <newren@gmail.com>
Date
Oct 3, 2010, 19:29 UTC
Message-ID
<AANLkTik-ztiY6o=S09UyJ1zg4xxtnBXaXaK1yuLZQ0-+@mail.gmail.com>
In-Reply-To
<20101003141339.GB17084@burratino>
I'll have to let Ævar respond to most of these, but two quick items...
On Sun, Oct 3, 2010 at 8:13 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 26 quoted lines
> Elijah Newren wrote:
>
>> --- a/t/README
>> +++ b/t/README
>> @@ -482,6 +475,15 @@ library for your script to use.
>>           'Perl API' \
>>           "$PERL_PATH" "$TEST_DIRECTORY"/t9700/test.pl
>>
>> + - test_expect_code <exit-code> <git-command>
>> +
>> +   Run a git command and ensure that it exits with the given exit
>> +   code. For example:
>> +
>> +     test_expect_success 'Merge with d/f conflicts' '
>> +             test_expect_code 1 git merge "merge msg" B master
>> +     '
>
> Side note: this helper should be safe to use even for non-git
> commands.  "Huh?" you might ask. "But test_must_fail and
> test_might_fail..."  Well, the distinction is this: test_must_fail and
> test_might_fail rely on details of git's funny exit code conventions
> --- e.g., that 130 is not a controlled failure and 129 is one ---
> while test_expect_code has simpler, more generally valid semantics.
>
> But maybe in practice this helper would only be used for git commands
> anyway.

Perhaps, but I agree that it at least makes sense to be used by other commands, so I'll change the documentation here to replace "git commands" with just "commands".

[...]
Show 13 quoted lines
>> +test_expect_code () {
>> +     want_code=$1
>> +     shift
>> +     "$@"
>> +     exit_code=$?
>> +     if test $exit_code = $want_code
>> +     then
>> +             echo >&2 "test_expect_code: command exited with $exit_code: $*"
>> +             return 0
>
> This makes the tests noisier on success.  I have no strong feelings
> either way about that, but it's probably worth mentioning in the commit
> message.

I added a brief note in the commit mesage, which I'll resend with the fixed-up series in a minute.

Previous: Jonathan NiederNext: Elijah Newren
Message 4 of 32 in “[PATCHv5 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. Jonathan NiederOct 3, 2010
  4. Elijah NewrenOct 3, 2010
  5. 02/16 t3020 (ls-files-error-unmatch): remove stray '1' from end of fileElijah Newren, Oct 3, 2010
  6. 03/16 t4017 (diff-retval): replace manual exit code check with test_expect_codeElijah Newren, Oct 3, 2010
  7. Jonathan NiederOct 3, 2010
  8. Elijah NewrenOct 3, 2010
  9. 04/16 t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&Elijah Newren, Oct 3, 2010
  10. 05/16 t4002 (diff-basic): use test_might_fail for commands that might failElijah Newren, Oct 3, 2010
  11. 06/16 t4202 (log): Replace '<git-command> || :' with test_might_failElijah Newren, Oct 3, 2010
  12. 07/16 t3600 (rm): add lots of missing &&Elijah Newren, Oct 3, 2010
  13. Jonathan NiederOct 3, 2010
  14. Elijah NewrenOct 3, 2010
  15. 08/16 t4019 (diff-wserror): add lots of missing &&Elijah Newren, Oct 3, 2010
  16. Jonathan NiederOct 3, 2010
  17. Ævar Arnfjörð BjarmasonOct 4, 2010
  18. 09/16 t4026 (color): remove unneeded and unchained commandElijah Newren, Oct 3, 2010
  19. 10/16 t5602 (clone-remote-exec): add missing &&Elijah Newren, Oct 3, 2010
  20. 11/16 t6016 (rev-list-graph-simplify-history): add missing &&Elijah Newren, Oct 3, 2010
  21. 12/16 t7001 (mv): add missing &&Elijah Newren, Oct 3, 2010
  22. 13/16 t7601 (merge-pull-config): add missing &&Elijah Newren, Oct 3, 2010
  23. 14/16 t7800 (difftool): add missing &&Elijah Newren, Oct 3, 2010
  24. 15/16 Add missing &&'s throughout the testsuiteElijah Newren, Oct 3, 2010
  25. Jonathan NiederOct 3, 2010
  26. Elijah NewrenOct 3, 2010
  27. Junio C HamanoOct 3, 2010
  28. 16/16 Introduce portable_unset and use it to ensure proper && chainingElijah Newren, Oct 3, 2010
  29. Jonathan NiederOct 3, 2010
  30. Elijah NewrenOct 3, 2010
  31. Junio C HamanoOct 3, 2010
  32. Jonathan NiederOct 3, 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.