Subject: Re: [RFC PATCH v3 1/1] unit tests: Add a project plan document

From: Junio C Hamano <[email-masked]>
Date: Thu, 29 Jun 2023 14:21:37 -0700

Linus Arver <[email-masked]> writes:

>> ...
>> +https://github.com/ThrowTheSwitch/Unity[Unity],?,?,?,?,?,?,?,?,?,?,?,?
>> +https://github.com/siu/minunit[minunit],?,?,?,?,?,?,?,?,?,?,?,?
>> +https://cunit.sourceforge.net/[CUnit],?,?,?,?,?,?,?,?,?,?,?,?
>> +https://www.kindahl.net/mytap/doc/index.html[MyTAP],[lime-background]#True#,?,?,?,?,?,?,?,?,?,?,?
>> +|=====
>
> This table is a little hard to read. Do you have your patch on GitHub or
> somewhere else where this table is rendered with HTML?

Great suggestion (veiled in a question).

> It would help to explain each of the answers that are filled in
> with the word "Partial", to better understand why it is the case. I
> suspect this might get a little verbose, in which case I suggest just
> giving each framework its own heading.
>
> The column names here are slightly different from the headings used
> under "Desired features"; I suggest making them the same.
>
> Also, how about grouping some of these together? For example "Diagnostic
> output" and "Coverage reports" feel like they could be grouped under
> "Output formats". Here's one way to group these:
>
>     1. Output formats
>
>     TAP support
>     Diagnostic output
>     Coverage reports
>
>     2. Cost of adoption
>
>     Vendorable / ubiquitous
>     Maintainable / extensible
>     Major platform support
>
>     3. Performance flexibility
>
>     Parallel execution
>     Lazy test planning
>     Runtime-skippable tests
>     Scheduling / re-running
>
>     4. Developer experience
>
>     Mocks
>     Signal & exception handling
>
> I can think of some other metrics to add to the comparison, namely:
>
>     1. Age (how old is the framework)
>     2. Size in KLOC (thousands of lines of code)
>     3. Adoption rate (which notable C projects already use this framework?)
>     4. Project health (how active are its developers?)
>
> I think for 3 and 4, we could probably mine some data out of GitHub
> itself.

Great additions (if we are mere users do we care much about #2,
though?).