[libvirt] [PATCH 2/3] tests: Add new testcases to test parsing of log filters in virlogtest

Michal Privoznik mprivozn at redhat.com
Thu Mar 24 14:43:45 UTC 2016


On 18.03.2016 10:07, Erik Skultety wrote:
> ---
>  tests/virlogtest.c | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
> 
> diff --git a/tests/virlogtest.c b/tests/virlogtest.c
> index acb0b08..332b5e4 100644
> --- a/tests/virlogtest.c
> +++ b/tests/virlogtest.c
> @@ -75,6 +75,37 @@ testLogParseOutputs(const void *opaque)
>  }
>  
>  static int
> +testLogParseFilters(const void *opaque)
> +{
> +    int ret = -1;
> +    int nfilters;
> +    const struct testLogData *data = opaque;
> +
> +    nfilters = virLogParseFilters(data->str);
> +    if (nfilters < 0) {
> +        if (!data->pass) {
> +            VIR_TEST_DEBUG("Got expected error: %s\n",
> +                           virGetLastErrorMessage());
> +            virResetLastError();
> +            ret = 0;
> +            goto cleanup;
> +        }
> +    } else if (nfilters != data->count) {
> +        VIR_TEST_DEBUG("Expected number of parsed outputs is %d, "
> +                       "but got %d\n", data->count, nfilters);
> +        goto cleanup;
> +    } else if (!data->pass) {
> +        VIR_TEST_DEBUG("Test should have failed\n");
> +        goto cleanup;
> +    }
> +
> +    ret = 0;
> + cleanup:
> +    virLogReset();
> +    return ret;
> +}
> +
> +static int
>  mymain(void)
>  {
>      int ret = 0;
> @@ -97,6 +128,10 @@ mymain(void)
>      DO_TEST_FULL("testLogParseOutputs " # str, testLogParseOutputs, str, count, false)
>  #define TEST_PARSE_OUTPUTS(str, count)                                      \
>      DO_TEST_FULL("testLogParseOutputs " # str, testLogParseOutputs, str, count, true)
> +#define TEST_PARSE_FILTERS_FAIL(str, count)                                 \
> +    DO_TEST_FULL("testLogParseFilters " # str, testLogParseFilters, str, count, false)
> +#define TEST_PARSE_FILTERS(str, count)                                       \

One extra space.

> +    DO_TEST_FULL("testLogParseFilters " # str, testLogParseFilters, str, count, true)
>  
>  
>      TEST_LOG_MATCH("2013-10-11 15:43:43.866+0000: 28302: info : libvirt version: 1.1.3");
> @@ -107,6 +142,12 @@ mymain(void)
>      TEST_PARSE_OUTPUTS_FAIL("foo:stderr", 1);
>      TEST_PARSE_OUTPUTS_FAIL("1:bar", 1);
>      TEST_PARSE_OUTPUTS_FAIL("1:stderr:foobar", 1);
> +    TEST_PARSE_FILTERS("1:foo", 1);
> +    TEST_PARSE_FILTERS("1:foo 2:bar  3:foobar", 3);
> +    TEST_PARSE_FILTERS_FAIL("5:foo", 1);
> +    TEST_PARSE_FILTERS_FAIL("1:", 1);
> +    TEST_PARSE_FILTERS_FAIL(":foo", 1);
> +    TEST_PARSE_FILTERS_FAIL("1:+", 1);
>  
>      return ret;
>  }
> 

Michal




More information about the libvir-list mailing list