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

Re: [PATCH v4 12/12] t3070: disable two fnmatch tests that have different results on different libc

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Oct 12, 2012, 09:49 UTC
Message-ID
<CACsJy8DkxT70M9EWGF4rFebQUcDguJqCHkrW3CL3pBi0cAegUQ@mail.gmail.com>
In-Reply-To
<5077C52E.2050000@viscovery.net>
On Fri, Oct 12, 2012 at 2:22 PM, Johannes Sixt <j.sixt@viscovery.net> wrote:
Show 7 quoted lines
> Am 10/10/2012 12:40, schrieb Nguyễn Thái Ngọc Duy:
>> fnmatch on glibc-2.12.1 returns no match. glibc-2.15 returns ok.
>
> There are many more cases that fail with the fnmatch() that we ship in
> compat/fnmatch. To test this on Linux, you have to remove the "#if defined
> _LIBC || !defined __GNU_LIBRARY__" brackets from compat/fnmatch/fnmatch.c
> and build with NO_FNMATCH.

Thanks. The point of checking against fnmatch is to make sure that wildmatch does not divert in behavior from fnmatch. For some corner cases that behavior is undefined, I think it is ok for different fnmatch versions to behave differently.

But some of failed tests make me worry about fnmatch. compat/fnmatch for example does not match '**/foo' with '/foo' (it does '*/foo' with '/foo'). 'A' is matched with '[[:digit:][:space:][:upper:]]' but not '[[:digit:][:upper:][:space:]]'. Perhaps we better off convert git to use wildmatch only to keep matching behavior more reliable. wildmatch does not support non-FNM_PATHNAME mode, but that should be easy to fix. The only downside I see is fnmatch may support locale while wildmatch does not.

-- 
Duy
Previous: Johannes SixtNext: Junio C Hamano
Message 18 of 28 in “Wildmatch v4”
  1. 00/12 Wildmatch v4Nguyễn Thái Ngọc Duy, Oct 10, 2012
  2. 01/12 ctype: make sane_ctype[] const arrayNguyễn Thái Ngọc Duy, Oct 10, 2012
  3. 02/12 ctype: support iscntrl, ispunct, isxdigit and isprintNguyễn Thái Ngọc Duy, Oct 10, 2012
  4. 03/12 Import wildmatch from rsyncNguyễn Thái Ngọc Duy, Oct 10, 2012
  5. 04/12 wildmatch: remove unnecessary functionsNguyễn Thái Ngọc Duy, Oct 10, 2012
  6. Michael HaggertyOct 10, 2012
  7. 05/12 Integrate wildmatch to gitNguyễn Thái Ngọc Duy, Oct 10, 2012
  8. Johannes SixtOct 12, 2012
  9. Junio C HamanoOct 12, 2012
  10. 06/12 wildmatch: make wildmatch's return value compatible with fnmatchNguyễn Thái Ngọc Duy, Oct 10, 2012
  11. 07/12 wildmatch: remove static variable force_lower_caseNguyễn Thái Ngọc Duy, Oct 10, 2012
  12. 08/12 wildmatch: fix case-insensitive matchingNguyễn Thái Ngọc Duy, Oct 10, 2012
  13. 09/12 wildmatch: adjust "**" behaviorNguyễn Thái Ngọc Duy, Oct 10, 2012
  14. 10/12 wildmatch: make /**/ match zero or more directoriesNguyễn Thái Ngọc Duy, Oct 10, 2012
  15. 11/12 Support "**" wildcard in .gitignore and .gitattributesNguyễn Thái Ngọc Duy, Oct 10, 2012
  16. 12/12 t3070: disable two fnmatch tests that have different results on different libcNguyễn Thái Ngọc Duy, Oct 10, 2012
  17. Johannes SixtOct 12, 2012
  18. Nguyen Thai Ngoc DuyOct 12, 2012
  19. Junio C HamanoOct 10, 2012
  20. Junio C HamanoOct 11, 2012
  21. Nguyen Thai Ngoc DuyOct 11, 2012
  22. Junio C HamanoOct 11, 2012
  23. Junio C HamanoOct 11, 2012
  24. Junio C HamanoOct 11, 2012
  25. Torsten BögershausenOct 12, 2012
  26. Junio C HamanoOct 12, 2012
  27. Torsten BögershausenOct 12, 2012
  28. Nguyen Thai Ngoc DuyOct 13, 2012

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.