From: Michal Privoznik Date: Wed, 26 Nov 2025 09:05:23 +0000 (+0100) Subject: virstringtest: Introduce a test for virSkipSpacesBackwards() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b3e48f947057feda8e31aa0a6afc4dd1c66792f8;p=thirdparty%2Flibvirt.git virstringtest: Introduce a test for virSkipSpacesBackwards() The signature and implementation of virSkipSpacesBackwards() is soon about to change. Introduce a test case to make sure its behaviour stays the same. Signed-off-by: Michal Privoznik Tested-by: Jaroslav Suchanek Reviewed-by: Ján Tomko --- diff --git a/tests/virstringtest.c b/tests/virstringtest.c index f4976890db..a9c8e621ce 100644 --- a/tests/virstringtest.c +++ b/tests/virstringtest.c @@ -111,6 +111,51 @@ testStringSortCompare(const void *opaque G_GNUC_UNUSED) } +#define TEST_STR "This is a static string with spaces" +#define TEST_SPACES " " + +static int +testSkipSpacesBackwards(const void *opaque G_GNUC_UNUSED) +{ + const char *str = TEST_STR TEST_SPACES; + char *eol = NULL; + + virSkipSpacesBackwards(str, &eol); + + if (STRNEQ(str, TEST_STR TEST_SPACES)) { + fprintf(stderr, "expected '" TEST_STR TEST_SPACES "' got '%s'\n", str); + return -1; + } + + while (g_ascii_isspace(*eol)) + eol++; + + if (*eol != '\0') { + fprintf(stderr, "expected empty string, got '%s'\n", eol); + return -1; + } + + eol = (char *)str + strlen(TEST_STR); + + virSkipSpacesBackwards(str, &eol); + + if (STRNEQ(str, TEST_STR TEST_SPACES)) { + fprintf(stderr, "expected '" TEST_STR TEST_SPACES "' got '%s'\n", str); + return -1; + } + + if (STRNEQ(eol, TEST_SPACES)) { + fprintf(stderr, "expected empty string, got '%s'\n", eol); + return -1; + } + + return 0; +} + +#undef TEST_SPACES +#undef TEST_STR + + struct stringSearchData { const char *str; const char *regexp; @@ -463,6 +508,9 @@ mymain(void) if (virTestRun("virStringSortCompare", testStringSortCompare, NULL) < 0) ret = -1; + if (virTestRun("virSkipSpacesBackwards", testSkipSpacesBackwards, NULL) < 0) + ret = -1; + #define TEST_SEARCH(s, r, x, n, m, e) \ do { \ struct stringSearchData data = { \