Reintroduced the test type without uiInit() and added uiInit() to most normal tests. Now to start (slowly) reactivating tests.

This commit is contained in:
Pietro Gagliardi 2020-01-21 01:16:47 -05:00
parent da1f9b4875
commit d51a885431
3 changed files with 29 additions and 12 deletions

View File

@ -6,7 +6,7 @@
#define errInvalidOptions "options parameter to uiInit() must be NULL"
#define errAlreadyInitialized "libui already initialized"
Test(Init)
TestNoInit(Init)
{
uiInitError err;

View File

@ -16,10 +16,7 @@ extern "C" {
#endif
#define testingprivImplName(basename) testingprivImpl ## basename
#define testingprivScaffoldName(basename) testingprivScaffold ## basename
#define testingprivMkScaffold(basename) \
static int testingprivScaffoldName(basename)(void) { int ret = 0; testingprivImplName(basename)(&ret); return ret; }
// references:
// - https://gitlab.gnome.org/GNOME/glib/blob/master/glib/gconstructor.h
@ -43,14 +40,34 @@ extern "C" {
#error unknown compiler for making constructors in C; cannot continue
#endif
#define testingprivMk(basename) \
void testingprivImplName(basename)(int *testingprivRet); \
testingprivMkScaffold(basename) \
testingprivMkCtor(basename) \
void testingprivImplName(basename)(int *testingprivRet)
#define Test(Name) \
testingprivMk(Test ## Name)
void testingprivImplName(Test ## Name)(int *testingprivRet); \
static int testingprivScaffoldName(Test ## Name)(void) \
{ \
int ret = 0; \
uiInitError err; \
memset(&err, 0, sizeof (uiInitError)); \
err.Size = sizeof (uiInitError); \
if (!uiInit(NULL, &err)) { \
fprintf(stderr, "error initializing libui for Test" #Name ": %s\n", err.Message); \
return 1; \
} \
testingprivImplName(Test ## Name)(&ret); \
return ret; \
} \
testingprivMkCtor(Test ## Name) \
void testingprivImplName(Test ## Name)(int *testingprivRet)
#define TestNoInit(Name) \
void testingprivImplName(Test ## Name)(int *testingprivRet); \
static int testingprivScaffoldName(Test ## Name)(void) \
{ \
int ret = 0; \
testingprivImplName(Test ## Name)(&ret); \
return ret; \
} \
testingprivMkCtor(Test ## Name) \
void testingprivImplName(Test ## Name)(int *testingprivRet)
// These can only be called directly from the Test functions.
// TODO make it otherwise

View File

@ -4,7 +4,7 @@
import fileinput
import re
r = re.compile('^Test\(([A-Za-z0-9_]+)\)$')
r = re.compile('^(?:Test|TestNoInit)\(([A-Za-z0-9_]+)\)$')
for line in fileinput.input():
match = r.match(line)
if match is not None: