I don't see this being used anywhere in this set of patches... I assume you have some other upcoming patch series that will use it... NITs On 01/28/2015 05:30 AM, Peter Krempa wrote: > Adding or reordering test cases is usually a pain due to static test > case names that are then passed to virtTestRun(). To ease the numbering > of test cases, this patch adds two simple helpers that generate the test > names according to the order they are run. The test name can be > configured via the reset function. > > This will allow us to freely add test cases in mid of test groups s/in mid of/in the middle of/ > without the need to re-number the rest of test cases. > --- > tests/testutils.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/testutils.h | 3 +++ > 2 files changed, 49 insertions(+) > > diff --git a/tests/testutils.c b/tests/testutils.c > index 9a79f98..c7d2615 100644 > --- a/tests/testutils.c > +++ b/tests/testutils.c > @@ -986,3 +986,49 @@ virDomainXMLOptionPtr virTestGenericDomainXMLConfInit(void) > &virTestGenericPrivateDataCallbacks, > NULL); > } > + > + > +static int virtTestCounter; > +static char virtTestCounterStr[128]; > +static char *virtTestCounterPrefixEndOffset; > + > + > +/** > + * virtTestCounterReset: > + * @prefix: name of the test group > + * > + * Resets the counter and sets up the test group name to use with > + * virtTestCounterNext(). This function is not thread safe. > + */ > +void > +virtTestCounterReset(const char *prefix) > +{ > + virtTestCounter = 0; Not that it'd happen, but if the prefix was larger than 128 characters... ;-) > + > + ignore_value(virStrcpyStatic(virtTestCounterStr, prefix)); > + virtTestCounterPrefixEndOffset = strchrnul(virtTestCounterStr, '\0'); > +} > + > + > +/** > + * virtTestCounterNext: > + * > + * This function is designed to ease test creation and reordering by adding > + * a way to do automagic test case numbring. s/numbring/numbering > + * > + * Returns string consisting of test name prefix configured via > + * virtTestCounterReset() and a number that increments in every call of this > + * function. This function is not thread safe. > + */ > +const char > +*virtTestCounterNext(void) > +{ > + size_t len = ARRAY_CARDINALITY(virtTestCounterStr); > + > + /* calculate length of the rest of the string */ > + len -= (virtTestCounterPrefixEndOffset - virtTestCounterStr); > + > + snprintf(virtTestCounterPrefixEndOffset, len, "%d", ++virtTestCounter); > + > + return virtTestCounterStr; > +} > diff --git a/tests/testutils.h b/tests/testutils.h > index d78818d..155b30f 100644 > --- a/tests/testutils.h > +++ b/tests/testutils.h > @@ -82,6 +82,9 @@ char *virtTestLogContentAndReset(void); > > void virtTestQuiesceLibvirtErrors(bool always); > > +void virtTestCounterReset(const char *prefix); > +const char *virtTestCounterNext(void); > + > int virtTestMain(int argc, > char **argv, > int (*func)(void)); > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list