On Fri, May 20, 2016 at 16:27:00 +0200, Peter Krempa wrote: > Make virtTestMain take variable number of libraries to mock. > --- > tests/testutils.c | 11 ++++++++--- > tests/testutils.h | 10 +++++----- > 2 files changed, 13 insertions(+), 8 deletions(-) > > diff --git a/tests/testutils.c b/tests/testutils.c > index 9180e86..f4fbad2 100644 > --- a/tests/testutils.c > +++ b/tests/testutils.c > @@ -24,6 +24,7 @@ > > #include <stdio.h> > #include <stdlib.h> > +#include <stdarg.h> > #include <sys/time.h> > #include <sys/types.h> > #include <sys/stat.h> > @@ -842,9 +843,11 @@ virTestSetEnvPath(void) > > int virtTestMain(int argc, > char **argv, > - const char *lib, > - int (*func)(void)) > + int (*func)(void), > + ...) > { > + const char *lib; > + va_list ap; > int ret; > char *testRange = NULL; > #ifdef TEST_OOM > @@ -854,8 +857,10 @@ int virtTestMain(int argc, > if (getenv("VIR_TEST_FILE_ACCESS")) > VIRT_TEST_PRELOAD(TEST_MOCK); > > - if (lib) > + va_start(ap, func); > + while ((lib = va_arg(ap, const char *))) > VIRT_TEST_PRELOAD(lib); > + va_end(ap); > > progname = last_component(argv[0]); > if (STRPREFIX(progname, "lt-")) No doubt this is better than passing a string with comma separated list of libraries, but contrary to what you promised, it still adds one library followed by exec() at a time :-) Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list