On 02/14/2015 09:37 PM, Fam Zheng wrote:
On Fri, 02/13 19:33, John Snow wrote:
Just a stupid question: We don't have a macro facility in the current
codebase that generates both an enum and string table / lookup function
simultaneously, do we?

Some things really do just wind up looking grossly inelegant in C, and this
is one of them.


There is in QAPI:

fam@fam-t430:~/build/last$ grep -A 4 NewImageMode_lookup qapi-types.c
const char *NewImageMode_lookup[] = {
     "existing",
     "absolute-paths",
     NULL,
};

fam@fam-t430:~/build/last$ grep -C 10 -e NEW_IMAGE qapi-types.h
...

extern const char *NewImageMode_lookup[];
typedef enum NewImageMode
{
     NEW_IMAGE_MODE_EXISTING = 0,
     NEW_IMAGE_MODE_ABSOLUTE_PATHS = 1,
     NEW_IMAGE_MODE_MAX = 2,
} NewImageMode;

...

Is that what you want?

Fam


More or less; though I wasn't intending on working in QAPI (I'm inside of qtest at the moment) and I assume people wouldn't appreciate the QAPI clutter with qtest junk.

Was just trying to figure out the best way to add a bunch of tables to allow some test permutations -- without it being grossly redundant.

the GLib test framework doesn't seem to allow for a test matrix / permutations particularly well. I see cases of some 2D iterations in existing qtests, but nobody appears to have implemented some 3D+ options structure for iterating through combinations.

Reply via email to