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

Re: [PATCH 5/6] t1500: avoid setting environment variables outside of tests

From
Junio C Hamano <gitster@pobox.com>
Date
May 10, 2016, 19:19 UTC
Message-ID
<xmqqwpn1oh45.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAPig+cRR49iJOkaLfynkvch4zUHVkpcJwVah0rvaEOeR7aY2Nw@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 11 quoted lines
>> I don't know if it's worth worrying about or not. The usual solution is
>> something like:
>>
>>   env_git_dir=$2
>>   env='GIT_DIR=$env_git_dir; export GIT_DIR'
>>   ...
>>   eval "$env"
>
> Makes sense; I wasn't quite happy with having $2 interpolated
> unquoted. Like you, though, I don't know if it's worth worrying
> about...
This is a good change, including the quoting of $env.
Show 5 quoted lines
> I flip-flopped on this one several times, quoting, and not quoting.
> Documentation for 'eval' says:
>
>     The args are read and concatenated together into a single
>     command.
Which means the two eval's give different results:
    $ e='echo "a  b"'
    $ eval $e
    $ eval "$e"
Show 8 quoted lines
>> This will set up the sane_unset regardless of whether $env does
>> anything. Would it make more sense to stick the test_when_finished
>> inside $env? You could use regular unset then, too, since you know the
>> variable would be set.
>
> I didn't worry about it too much because the end result is effectively
> the same and, with all the 'case' arms being short one-liners, I think
> the code is a bit easier to read as-is.
Yeah, this is OK.
Previous: Eric SunshineNext: Eric Sunshine
Message 11 of 24 in “modernize t1500”
  1. 0/6 modernize t1500Eric Sunshine, May 10, 2016
  2. 1/6 t1500: test_rev_parse: facilitate future test enhancementsEric Sunshine, May 10, 2016
  3. 2/6 t1500: reduce dependence upon global stateEric Sunshine, May 10, 2016
  4. 3/6 t1500: avoid changing working directory outside of testsEric Sunshine, May 10, 2016
  5. 4/6 t1500: avoid setting configuration options outside of testsEric Sunshine, May 10, 2016
  6. Eric SunshineMay 10, 2016
  7. Junio C HamanoMay 10, 2016
  8. 5/6 t1500: avoid setting environment variables outside of testsEric Sunshine, May 10, 2016
  9. Jeff KingMay 10, 2016
  10. Eric SunshineMay 10, 2016
  11. Junio C HamanoMay 10, 2016
  12. Eric SunshineMay 10, 2016
  13. Eric SunshineMay 10, 2016
  14. Jeff KingMay 10, 2016
  15. Junio C HamanoMay 10, 2016
  16. SZEDER GáborMay 10, 2016
  17. Junio C HamanoMay 10, 2016
  18. Eric SunshineMay 10, 2016
  19. 6/6 t1500: be considerate to future potential testsEric Sunshine, May 10, 2016
  20. Junio C HamanoMay 10, 2016
  21. Junio C HamanoMay 10, 2016
  22. Junio C HamanoMay 10, 2016
  23. Eric SunshineMay 16, 2016
  24. Junio C HamanoMay 16, 2016

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.