Re: [PATCH v7 02/14] t: import the clar unit testing framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 3, 2024 at 5:15 AM Patrick Steinhardt <ps@xxxxxx> wrote:>
> Our unit testing framework is a homegrown solution. While it supports
> most of our needs, it is likely that the volume of unit tests will grow
> quite a bit in the future such that we can exercise low-level subsystems
> directly. This surfaces several shortcomings that the current solution
> has:
>
>   - There is no way to run only one specific tests. While some of our
>     unit tests wire this up manually, others don't. In general, it
>     requires quite a bit of boilerplate to get this set up correctly.
>
>   - Failures do not cause a test to stop execution directly. Instead,
>     the test author needs to return manually whenever an assertion
>     fails. This is rather verbose and is not done correctly in most of
>     our unit tests.
>
>   - Wiring up a new testcase requires both implementing the test
>     function and calling it in the respective test suite's main
>     function, which is creating code duplication.
>
> We can of course fix all of these issues ourselves, but that feels
> rather pointless when there are already so many unit testing frameworks
> out there that have those features.
>
> We line out some requirements for any unit testing framework in

Perhaps you meant s/line out/outline/ ?

(Not worth a reroll.)

> "Documentation/technical/unit-tests.txt". The "clar" unit testing
> framework, which isn't listed in that table yet, ticks many of the
> boxes:
>
>   - It is licensed under ISC, which is compatible.
>
>   - It is easily vendorable because it is rather tiny at around 1200
>     lines of code.
>
>   - It is easily hackable due to the same reason.
>
>   - It has TAP support.
>
>   - It has skippable tests.
>
>   - It preprocesses test files in order to extract test functions, which
>     then get wired up automatically.
>
> While it's not perfect, the fact that clar originates from the libgit2
> project means that it should be rather easy for us to collaborate with
> upstream to plug any gaps.
>
> Import the clar unit testing framework at commit 1516124 (Merge pull
> request #97 from pks-t/pks-whitespace-fixes, 2024-08-15). The framework
> will be wired up in subsequent commits.
>
> Signed-off-by: Patrick Steinhardt <ps@xxxxxx>





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux