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

Re: [GSoC][PATCH v2 3/3] t3600: use helpers to replace test -d/f/e/s <path>

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 11, 2019, 01:54 UTC
Message-ID
<xmqqa7i2mazb.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<CAPig+cQFMNFTMfMz5EnMZxnXGLWnKYZ5_=D3eiNsX24hdZSPRw@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 22 quoted lines
> On Fri, Mar 8, 2019 at 12:38 AM Junio C Hamano <gitster@pobox.com> wrote:
>> An unrelated tangent, but what do you think of this patch?  In the
>> context of testing "git rm", if foo is a dangling symbolic link,
>> "git rm foo && test_path_is_missing foo" would need something like
>> this to work correctly, I would think.
>>
>>  test_path_is_missing () {
>> -       if test -e "$1"
>> +       if test -e "$1" || test -L "$1"
>>         then
>>                 echo "Path exists:"
>>                 ls -ld "$1"
>
> Makes sense. Won't we also want:
>
>     test_path_exists () {
>     -    if ! test -e "$1"
>     +   if ! test -e "$1" && ! test -L "$1"
>        then
>             echo "Path $1 doesn't exist. $2"
>
> or something like that?

That would make them symmetric, but what I was driving at with "In the context of testing git rm" was that I highly suspect that among other existing users of test_path_is_missing there are some that want to consider a dangling symbolic link as if it is not there (and vice versa for test_path_exists), and it may not be a good idea to unconditionally declare that, unlike the underlying "test" command that dereferences symlinks for most operations, our wrapper does not dereference symbolic links, which is what the "what do you think?" patch and your addtion do.

Previous: Eric SunshineNext: Eric Sunshine
Message 36 of 37 in “Use helper functions in test script”
  1. Rohit AshiwalMar 3, 2019
  2. 1/3 test functions: Add new function `test_file_not_empty`Rohit Ashiwal, Mar 3, 2019
  3. Junio C HamanoMar 3, 2019
  4. Rohit Ashiwal, Mar 3, 2019
  5. Junio C HamanoMar 3, 2019
  6. Clearing logicRohit Ashiwal, Mar 3, 2019
  7. Thomas GummererMar 3, 2019
  8. 2/3 t3600: refactor code according to contemporary guidelinesRohit Ashiwal, Mar 3, 2019
  9. Junio C HamanoMar 3, 2019
  10. Rohit AshiwalMar 3, 2019
  11. 3/3 t3600: use helper functions from test-lib-functionsRohit Ashiwal, Mar 3, 2019
  12. Junio C HamanoMar 3, 2019
  13. [GSoC][PATCH v2 0/3] Use helper functions in test scriptRohit Ashiwal, Mar 3, 2019
  14. [GSoC][PATCH v2 1/3] test functions: add function `test_file_not_empty`Rohit Ashiwal, Mar 3, 2019
  15. Junio C HamanoMar 4, 2019
  16. [GSoC][PATCH v2 2/3] t3600: restructure code according to contemporary guidelinesRohit Ashiwal, Mar 3, 2019
  17. Junio C HamanoMar 4, 2019
  18. [GSoC][PATCH v2 3/3] t3600: use helpers to replace test -d/f/e/s <path>Rohit Ashiwal, Mar 3, 2019
  19. [GSoC][PATCH v3 0/3] Use helper functions in test scriptRohit Ashiwal, Mar 4, 2019
  20. [GSoC][PATCH v3 1/3] test functions: add function `test_file_not_empty`Rohit Ashiwal, Mar 4, 2019
  21. Eric SunshineMar 5, 2019
  22. Junio C HamanoMar 5, 2019
  23. Rohit AshiwalMar 5, 2019
  24. [GSoC][PATCH v3 2/3] t3600: modernize styleRohit Ashiwal, Mar 4, 2019
  25. Eric SunshineMar 5, 2019
  26. Junio C HamanoMar 5, 2019
  27. [GSoC][PATCH v3 3/3] t3600: use helpers to replace test -d/f/e/s <path>Rohit Ashiwal, Mar 4, 2019
  28. Eric SunshineMar 5, 2019
  29. Rohit AshiwalMar 5, 2019
  30. Eric SunshineMar 5, 2019
  31. Rohit AshiwalMar 5, 2019
  32. Eric SunshineMar 5, 2019
  33. Rohit AshiwalMar 5, 2019
  34. Junio C HamanoMar 8, 2019
  35. Eric SunshineMar 8, 2019
  36. Junio C HamanoMar 11, 2019
  37. Eric SunshineMar 5, 2019

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.