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

Re: [PATCH v5 3/4] test-strcmp-offset: created test for strcmp_offset

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
Apr 6, 2017, 14:25 UTC
Message-ID
<afdbf105-9dee-3779-6c1b-a6c65c773f23@jeffhostetler.com>
In-Reply-To
<alpine.DEB.2.20.1704061014120.4268@virtualbox>
On 4/6/2017 4:21 AM, Johannes Schindelin wrote:
Show 7 quoted lines
> Hi Gábor,
>
> On Thu, 6 Apr 2017, SZEDER Gábor wrote:
>
>> I think this patch should be squashed into the previous commit;  I
>> don't see any reason why the tests should be added in a different
>> commit than the function they are testing.
Will do.
Show 18 quoted lines
>
> I am of two minds there. In some cases, the newly added test demonstrates
> the intended usage, and therefore makes for a nice documentation. In other
> cases, the new test is large enough to stand on its own, i.e. to merit a
> separate patch (also to make reviewing easier).
>
> In this particular case, I tend to the latter: it is large enough a patch
> that it is easier to review as a separate patch.
>
>>>  t/helper/test-strcmp-offset.c | 64 +++++++++++++++++++++++++++++++++++++++++++
>>>  t/t0065-strcmp-offset.sh      | 11 ++++++++
>>>  4 files changed, 77 insertions(+)
>>>  create mode 100644 t/helper/test-strcmp-offset.c
>>>  create mode 100755 t/t0065-strcmp-offset.sh
>>
>> Sure, tests are good, but I have to wonder how this would scale in the
>> long term, when even such simple functions would get their own
>> t/helper/test-func executable and t/tNNNN-func.sh script.

I think this is the start of a larger conversation on how we want to handle function-level unit-testing and outside the scope of this patch series.

Show 27 quoted lines
>
> True. The proliferation of executables in t/helper/ got a little out of
> hand.
>
> But there is nothing preventing us from consolidating a few of them into a
> single executable, using our wonderful option parsing function with
> OPT_CMDMODE to switch between the different functions.
>
> I could see, for example, how we could consolidate all string-related
> test helpers into a single one, say, test-strings:
>
> t/helper/test-ctype.c
> t/helper/test-regex.c
> t/helper/test-strcmp-offset.c
> t/helper/test-string-list.c
> t/helper/test-line-buffer.c
> t/helper/test-urlmatch-normalization.c
> t/helper/test-wildmatch.c
>
> Also, these helpers seem to be related to index handling and could go into
> a new test-index helper:
>
> t/helper/test-dump-cache-tree.c
> t/helper/test-dump-split-index.c
> t/helper/test-dump-untracked-cache.c
> t/helper/test-index-version.c
> t/helper/test-scrap-cache-tree.c

This is an interesting proposal. I could go one further and say we have a single "t/helper/unit-test.c" that has series of "t/helper/builtin/*.c" commands (using the same mechanism as the builtin commands in git.exe). The question then is how much of the test logic and/or parameters go into the shell scripts.

But again, all of that is outside my scope here. Jeff

Previous: Johannes SchindelinNext: René Scharfe
Message 8 of 16 in “read-cache: speed up add_index_entry”
  1. 0/4 read-cache: speed up add_index_entrygit@jeffhostetler.com, Apr 5, 2017
  2. 4/4 read-cache: speed up add_index_entry during checkoutgit@jeffhostetler.com, Apr 5, 2017
  3. SZEDER GáborApr 5, 2017
  4. Jeff HostetlerApr 6, 2017
  5. 3/4 test-strcmp-offset: created test for strcmp_offsetgit@jeffhostetler.com, Apr 5, 2017
  6. SZEDER GáborApr 5, 2017
  7. Johannes SchindelinApr 6, 2017
  8. Jeff HostetlerApr 6, 2017
  9. René ScharfeApr 6, 2017
  10. Jeff HostetlerApr 6, 2017
  11. 1/4 p0004-read-tree: perf test to time read-treegit@jeffhostetler.com, Apr 5, 2017
  12. René ScharfeApr 6, 2017
  13. Jeff HostetlerApr 6, 2017
  14. 2/4 read-cache: add strcmp_offset functiongit@jeffhostetler.com, Apr 5, 2017
  15. SZEDER GáborApr 6, 2017
  16. Jeff HostetlerApr 6, 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.