On Fri, May 19, 2023 at 05:13:52PM +0200, Hanna Czenczek wrote:
> On 12.05.23 04:10, Eric Blake wrote:
> > No need to copy-and-paste lots of boilerplate per string tested, when
> > we can consolidate that behind helper functions.  Plus, this adds a
> > bit more coverage (we now test all strings both with and without
> > endptr, whereas before some tests skipped the NULL endptr case), which
> > exposed a SEGFAULT on qemu_strtosz(NULL, NULL, &val) that will be
> > parsed in an upcoming patch.

s/parsed/fixed/

> > 
> > Note that duplicating boilerplate has one advantage lost here - a
> > failed test tells you which line number failed; but a helper function
> > does not show the call stack that reached the failure.  Since we call
> > the helper more than once within many of the "unit tests", even the
> > unit test name doesn't point out which call is failing.  But that only
> > matters when tests fail (they normally pass); at which point I'm
> > debugging the failures under gdb anyways, so I'm not too worried about
> > it.
> > 
> > Signed-off-by: Eric Blake <ebl...@redhat.com>
> > ---
> >   tests/unit/test-cutils.c | 503 ++++++++-------------------------------
> >   1 file changed, 100 insertions(+), 403 deletions(-)
> 
> Reviewed-by: Hanna Czenczek <hre...@redhat.com>

I'm debating about using similar boilerplate compression for the
strtol and strtod tests in v3 of the series.  I can definitively state
that debugging a failed test was harder (had to open up gdb instead of
just seeing the line number of the failure), but that overall I got to
focus a lot more on the tests rather than the boilerplate.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


Reply via email to