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

Re: [PATCH v9 1/5] dir_iterator: add tests for dir_iterator API

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 18, 2017, 04:37 UTC
Message-ID
<xmqqzifee3fo.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1492462296-4990-2-git-send-email-bnmvco@gmail.com>
Daniel Ferreira <bnmvco@gmail.com> writes:
Show 20 quoted lines
> +cat >expect-sorted-output <<-\EOF &&
> +[d] (a) [a] ./dir/a
> +[d] (a/b) [b] ./dir/a/b
> +[d] (a/b/c) [c] ./dir/a/b/c
> +[d] (d) [d] ./dir/d
> +[d] (d/e) [e] ./dir/d/e
> +[d] (d/e/d) [d] ./dir/d/e/d
> +[f] (a/b/c/d) [d] ./dir/a/b/c/d
> +[f] (a/e) [e] ./dir/a/e
> +[f] (b) [b] ./dir/b
> +[f] (c) [c] ./dir/c
> +[f] (d/e/d/a) [a] ./dir/d/e/d/a
> +EOF
> +
> +test_expect_success 'dir-iterator should iterate through all files' '
> +	test-dir-iterator ./dir >out &&
> +	sort <out >./actual-pre-order-sorted-output &&
> +
> +	test_cmp expect-sorted-output actual-pre-order-sorted-output
> +'

Modern tests create these test vectors inside test_expect_success block, like so:

test_expect_success 'dir-iterator should iterate through all files' '
        cat >expect-sorted-output <<-\EOF &&
        [d] (a) [a] ./dir/a
        [d] (a/b) [b] ./dir/a/b
        [d] (a/b/c) [c] ./dir/a/b/c
        [d] (d) [d] ./dir/d
        [d] (d/e) [e] ./dir/d/e
        [d] (d/e/d) [d] ./dir/d/e/d
        [f] (a/b/c/d) [d] ./dir/a/b/c/d
        [f] (a/e) [e] ./dir/a/e
        [f] (b) [b] ./dir/b
        [f] (c) [c] ./dir/c
        [f] (d/e/d/a) [a] ./dir/d/e/d/a
        EOF
	test-dir-iterator ./dir >out &&
	sort <out >./actual-pre-order-sorted-output &&
	test_cmp expect-sorted-output actual-pre-order-sorted-output
'
Previous: Junio C HamanoNext: Daniel Ferreira
Message 4 of 13 in “[GSoC] remove_subtree(): reimplement using iterators”
  1. 0/5 [GSoC] remove_subtree(): reimplement using iteratorsDaniel Ferreira, Apr 17, 2017
  2. 1/5 dir_iterator: add tests for dir_iterator APIDaniel Ferreira, Apr 17, 2017
  3. Junio C HamanoApr 18, 2017
  4. Junio C HamanoApr 18, 2017
  5. 2/5 remove_subtree(): test removing nested directoriesDaniel Ferreira, Apr 17, 2017
  6. 4/5 dir_iterator: refactor state machine modelDaniel Ferreira, Apr 17, 2017
  7. Junio C HamanoApr 18, 2017
  8. Junio C HamanoApr 18, 2017
  9. 3/5 dir_iterator: add helpers to dir_iterator_advanceDaniel Ferreira, Apr 17, 2017
  10. Junio C HamanoApr 18, 2017
  11. 5/5 remove_subtree(): reimplement using iteratorsDaniel Ferreira, Apr 17, 2017
  12. Junio C HamanoApr 18, 2017
  13. Stefan BellerApr 18, 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.