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

Re: [PATCH 1/2] mingw: verify that paths are not mistaken for remote nicknames

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
May 29, 2017, 21:59 UTC
Message-ID
<bc145b9d-96cc-325a-8df3-af87d23c8727@ramsayjones.plus.com>
In-Reply-To
<34029b29-9f65-78c0-c2ed-649b179a79ac@kdbg.org>
On 29/05/17 22:02, Johannes Sixt wrote:
Show 32 quoted lines
> Am 29.05.2017 um 22:40 schrieb Ævar Arnfjörð Bjarmason:
>> On Mon, May 29, 2017 at 10:25 PM, Johannes Sixt <j6t@kdbg.org> wrote:
>>> diff --git a/t/t5580-clone-push-unc.sh b/t/t5580-clone-push-unc.sh
>>> index b195f71ea9..fd719a209e 100755
>>> --- a/t/t5580-clone-push-unc.sh
>>> +++ b/t/t5580-clone-push-unc.sh
>>> @@ -1,13 +1,19 @@
>>>   #!/bin/sh
>>>
>>> -test_description='various UNC path tests (Windows-only)'
>>> +test_description='various Windows-only path tests'
>>>   . ./test-lib.sh
>>>
>>>   if ! test_have_prereq MINGW; then
>>> -       skip_all='skipping UNC path tests, requires Windows'
>>> +       skip_all='skipping Windows-only path tests'
>>>          test_done
>>>   fi
>>>
>>> +test_expect_failure 'remote nick cannot contain backslashes' '
>>> +       BACKSLASHED="$(pwd | tr / \\\\)" &&
>>> +       git ls-remote "$BACKSLASHED" >out 2>err &&
>>> +       ! grep "unable to access" err
>>> +'
>>
>> Doesn't this need test_i18ngrep?:
> 
> Good catch! It would be this one in warn_on_inaccessible:
> 
>>      wrapper.c:581:  warning_errno(_("unable to access '%s'"), path);
> 
> But actually, I'm more worried about the unholy mix of one-test-first-then-skip_all-later that occurs in this test script (I do not mean the skip_all that is visible in the context, there are others later). I think there was some buzz recently that prove only understands a summary line that reads "1..0", but here we would see "1..1". What to do? Reorganize the test script? Dscho, any ideas?

See commit c7018be509 ("test: allow skipping the remainder", 18-05-2017) which is currently merged to the 'next' branch (merge 03b8a61e47 of the 'jc/skip-test-in-the-middle' branch).

(see also http://testanything.org)

If you look at http://testanything.org//tap-specification.html, it shows that you are allowed to annotate a plan of '1..0' with a SKIP directive to explain why no tests in a file were run. However, a plan with '1..n' (for any n > 0) must not have any annotation. (Back in 2012, when I wrote commit bf4b721932, I found much better documentation than the above!)

So, after commit c7018be509, you can now use the 'skip_all' facility after having run some tests; it now converts that into an 'SKIP comment' just before the test plan, effectively skipping the remainder of the tests in the file. (since we are using a 'trailing plan', and have thus not declared how many tests we had intended to run, we can output an accurate plan).

ATB, Ramsay Jones

Previous: Johannes SixtNext: Junio C Hamano
Message 32 of 41 in “What's cooking in git.git (May 2017, #06; Mon, 22)”
  1. Junio C HamanoMay 22, 2017
  2. Jonathan NiederMay 22, 2017
  3. Junio C HamanoMay 23, 2017
  4. Jonathan NiederMay 23, 2017
  5. Junio C HamanoMay 23, 2017
  6. Duy NguyenMay 25, 2017
  7. Junio C HamanoMay 26, 2017
  8. 00/13 reporting unexpected errors after (f)openJunio C Hamano, May 26, 2017
  9. 01/13 git_fopen: fix a sparse 'not declared' warningJunio C Hamano, May 26, 2017
  10. 02/13 use xfopen() in more placesJunio C Hamano, May 26, 2017
  11. 03/13 clone: use xfopen() instead of fopen()Junio C Hamano, May 26, 2017
  12. 05/13 config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, tooJunio C Hamano, May 26, 2017
  13. Stefan BellerMay 30, 2017
  14. Junio C HamanoMay 30, 2017
  15. Stefan BellerMay 30, 2017
  16. 04/13 config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSDJunio C Hamano, May 26, 2017
  17. 06/13 wrapper.c: add and use warn_on_fopen_errors()Junio C Hamano, May 26, 2017
  18. 07/13 wrapper.c: add and use fopen_or_warn()Junio C Hamano, May 26, 2017
  19. 09/13 print errno when reporting a system call errorJunio C Hamano, May 26, 2017
  20. 10/13 rerere.c: move error_errno() closer to the source system callJunio C Hamano, May 26, 2017
  21. Stefan BellerMay 30, 2017
  22. 08/13 wrapper.c: make warn_on_inaccessible() staticJunio C Hamano, May 26, 2017
  23. 11/13 log: fix memory leak in open_next_file()Junio C Hamano, May 26, 2017
  24. 12/13 wrapper: factor out is_missing_file_error()Junio C Hamano, May 26, 2017
  25. 1/2 compat-util: is_missing_file_error()Junio C Hamano, May 30, 2017
  26. 2/2 treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checkedJunio C Hamano, May 30, 2017
  27. 13/13 is_missing_file_error(): work around EINVAL on WindowsJunio C Hamano, May 26, 2017
  28. 1/2 mingw: verify that paths are not mistaken for remote nicknamesJohannes Sixt, May 29, 2017
  29. 2/2 mingw_fopen: report ENOENT for invalid file namesJohannes Sixt, May 29, 2017
  30. Ævar Arnfjörð BjarmasonMay 29, 2017
  31. Johannes SixtMay 29, 2017
  32. Ramsay JonesMay 29, 2017
  33. Junio C HamanoMay 30, 2017
  34. Ramsay JonesMay 30, 2017
  35. Junio C HamanoMay 29, 2017
  36. Junio C HamanoMay 30, 2017
  37. Johannes SixtMay 30, 2017
  38. Junio C HamanoMay 30, 2017
  39. Stefan BellerMay 30, 2017
  40. Junio C HamanoMay 30, 2017
  41. Stefan BellerMay 30, 2017

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.