* * * * *

                  An answer to my question about unit tests

I was browsing Gemini [1] when I came across a reponse to my unit test
question [2]:

> Sean Conner poses this question.
>
> The answer is actually more sensible in C than it was in Smalltalk: a unit
> is a compilation unit. In C, it is a file.
>
> Any changes to source will require changes to a file. Once a source file is
> altered, it may screw something up in the resultant binary. Therefore,
> there should be a unit test to check that the altered unit behaves as
> expected.
>
> …
>
> The easiest way to think of it in C is: assume make's view of the system.
>

“Re: What is a unit test [3]”

That is not a bad answer for C. In fact, it's probably not a bad answer for
several different languages. The only clarification I can see being made is
to only test non-static functions (functions that have visibility outside the
file they're defined in) and not have specific tests for static functions
(functions that only have visibility to code in the C file) to allow greater
flexibility in implemenation and prevent tests from breaking too often.

[1] https://gemini.circumlunar.space/
[2] gopher://gopher.conman.org/0Phlog:2022/10/08.1
[3] gemini://gemini.ctrl-/

Email author at [email protected]