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

Re: [PATCH 1/1] t/test-lib: make `test_dir_is_empty` more robust

From
Jeff King <peff@peff.net>
Date
Aug 5, 2018, 20:52 UTC
Message-ID
<20180805205231.GA14688@sigill.intra.peff.net>
In-Reply-To
<CAPig+cQSryjWrFZML_g0fR5oq6dzVaWPXm_4R-Jg_ay1R2DzbQ@mail.gmail.com>
On Sun, Aug 05, 2018 at 01:23:05AM -0400, Eric Sunshine wrote:
Show 12 quoted lines
> A simpler approach, without the portability concerns of -A, would be
> to remove the "." and ".." lines from the top of the listing:
> 
>     ls -f1 "$1" | sed '1,2d'
> 
> If we're worried about -f not being sufficiently portable, then an
> even simpler approach would be to check whether the output of 'ls -a1'
> has more lines than the two expected ("." and ".."):
> 
>     test $(ls -a1 "$1" | wc -l) -gt 2
> 
> I think I favor this final implementation over the others.
Perhaps even simpler:
  test "$1" = "$(find "$1")"

That will recurse any subdirectories, possibly wasting time, but since the point is that we expect it to be empty, that's probably OK.

Like Junio said elsewhere, I am not sure if it is even worth caring too much about pathological cases in the test suite, where we control all of the paths. But using `find` does shave off one process invocation, too. :)

-Peff
Previous: Eric SunshineNext: Jeff King
Message 5 of 23 in “t/test-lib: make `test_dir_is_empty` more robust”
  1. 0/1 t/test-lib: make `test_dir_is_empty` more robustWilliam Chargin, Aug 5, 2018
  2. 1/1 t/test-lib: make `test_dir_is_empty` more robustWilliam Chargin, Aug 5, 2018
  3. Jonathan NiederAug 5, 2018
  4. Eric SunshineAug 5, 2018
  5. Jeff KingAug 5, 2018
  6. Jeff KingAug 6, 2018
  7. Eric SunshineAug 6, 2018
  8. William CharginAug 12, 2018
  9. test_dir_is_empty: properly detect files with newline in nameWilliam Chargin, Aug 12, 2018
  10. Eric SunshineAug 12, 2018
  11. William CharginAug 12, 2018
  12. Eric SunshineAug 12, 2018
  13. test_dir_is_empty: fix edge cases with newlines and hyphensWilliam Chargin, Sep 12, 2018
  14. Junio C HamanoSep 12, 2018
  15. test_dir_is_empty: fix edge cases with newlines and hyphensWilliam Chargin, Sep 12, 2018
  16. William CharginAug 5, 2018
  17. Jonathan NiederAug 5, 2018
  18. Junio C HamanoAug 5, 2018
  19. Jonathan NiederAug 5, 2018
  20. Jonathan NiederAug 5, 2018
  21. William CharginAug 5, 2018
  22. t/test-lib: make `test_dir_is_empty` more robustWilliam Chargin, Aug 5, 2018
  23. Johannes SixtAug 5, 2018

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.