提交 f0469c61 编写于 作者: P Peter Krempa 提交者: John Ferlan

tests: Allow multiple mock libraries

Make virtTestMain take variable number of libraries to mock.
上级 97868a2b
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h>
#include <sys/time.h> #include <sys/time.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
...@@ -842,9 +843,11 @@ virTestSetEnvPath(void) ...@@ -842,9 +843,11 @@ virTestSetEnvPath(void)
int virtTestMain(int argc, int virtTestMain(int argc,
char **argv, char **argv,
const char *lib, int (*func)(void),
int (*func)(void)) ...)
{ {
const char *lib;
va_list ap;
int ret; int ret;
char *testRange = NULL; char *testRange = NULL;
#ifdef TEST_OOM #ifdef TEST_OOM
...@@ -854,8 +857,10 @@ int virtTestMain(int argc, ...@@ -854,8 +857,10 @@ int virtTestMain(int argc,
if (getenv("VIR_TEST_FILE_ACCESS")) if (getenv("VIR_TEST_FILE_ACCESS"))
VIRT_TEST_PRELOAD(TEST_MOCK); VIRT_TEST_PRELOAD(TEST_MOCK);
if (lib) va_start(ap, func);
while ((lib = va_arg(ap, const char *)))
VIRT_TEST_PRELOAD(lib); VIRT_TEST_PRELOAD(lib);
va_end(ap);
progname = last_component(argv[0]); progname = last_component(argv[0]);
if (STRPREFIX(progname, "lt-")) if (STRPREFIX(progname, "lt-"))
......
...@@ -102,13 +102,13 @@ const char *virtTestCounterNext(void); ...@@ -102,13 +102,13 @@ const char *virtTestCounterNext(void);
int virtTestMain(int argc, int virtTestMain(int argc,
char **argv, char **argv,
const char *lib, int (*func)(void),
int (*func)(void)); ...);
/* Setup, then call func() */ /* Setup, then call func() */
# define VIRT_TEST_MAIN(func) \ # define VIRT_TEST_MAIN(func) \
int main(int argc, char **argv) { \ int main(int argc, char **argv) { \
return virtTestMain(argc, argv, NULL, func); \ return virtTestMain(argc, argv, func, NULL); \
} }
# define VIRT_TEST_PRELOAD(lib) \ # define VIRT_TEST_PRELOAD(lib) \
...@@ -131,9 +131,9 @@ int virtTestMain(int argc, ...@@ -131,9 +131,9 @@ int virtTestMain(int argc,
} \ } \
} while (0) } while (0)
# define VIRT_TEST_MAIN_PRELOAD(func, lib) \ # define VIRT_TEST_MAIN_PRELOAD(func, ...) \
int main(int argc, char **argv) { \ int main(int argc, char **argv) { \
return virtTestMain(argc, argv, lib, func); \ return virtTestMain(argc, argv, func, __VA_ARGS__, NULL); \
} }
virCapsPtr virTestGenericCapsInit(void); virCapsPtr virTestGenericCapsInit(void);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册