[libvirt] 2/3 testsuite formatting bugs [was: [PATCH] Skip some xen tests if xend is not running]

Matthias Bolte matthias.bolte at googlemail.com
Sat Jul 9 09:51:28 UTC 2011


2011/7/9 Eric Blake <eblake at redhat.com>:
> On 07/08/2011 05:28 PM, Matthias Bolte wrote:
>>
>> From a1508239af921289cd6e357e8521ff42faf535bd Mon Sep 17 00:00:00 2001
>> From: Matthias Bolte <matthias.bolte at googlemail.com>
>> Date: Sat, 9 Jul 2011 01:24:16 +0200
>> Subject: [PATCH] tests: Add the logic to skip the statstest to the right place
>>
>> ---
>>  tests/statstest.c |   31 ++++++++++++++++++++-----------
>>  1 files changed, 20 insertions(+), 11 deletions(-)
>>
>>
>> -VIRT_TEST_MAIN(mymain)
>> +/* Skipping the test in mymain is too late, it results in broken output.
>> + * Therefore, expand VIRT_TEST_MAIN here manually to be able to skip at
>> + * the right place. */
>> +int main(int argc, char **argv)
>
> This seems fishy.  Why did tests/reconnect.c not need the same
> treatment?  Oh, because it didn't use VIRT_TEST_MAIN.
>
> Wouldn't it be better to teach VIRT_TEST_MAIN to behave better on a skip?
>
> diff --git i/tests/testutils.c w/tests/testutils.c
> index b433204..f732fdd 100644
> --- i/tests/testutils.c
> +++ w/tests/testutils.c
> @@ -688,7 +688,7 @@ cleanup:
>     if (abs_srcdir_cleanup)
>         VIR_FREE(abs_srcdir);
>     virResetLastError();
> -    if (!virTestGetVerbose()) {
> +    if (!virTestGetVerbose() && ret != EXIT_AM_SKIP) {
>         int i;
>         for (i = (testCounter % 40) ; i > 0 && i < 40 ; i++)
>             fprintf(stderr, " ");

This can still be improved in the look of the output. This results in

TEST: statstest
          SKIP: statstest

Other tests that decide to be skipped at compile time just result in

SKIP: <testname>

Problem with the runtime skip decision is that we need to setup stuff
before and want to print the TEST: <testname> before doing that to get
error messages probably assigned to this test in the output. So we
cannot achieve SKIP: <testname> only here. In order to get rid of the
indentation of SKIP: <testname> we need to defer the output of the
indentation until we know that the test isn't skipped and is actually
running test cases.

Here's a v2 that does this.

-- 
Matthias Bolte
http://photron.blogspot.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-tests-Improve-output-of-tests-that-decide-to-skip-at.patch
Type: text/x-diff
Size: 3786 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110709/7e9a6770/attachment-0001.bin>


More information about the libvir-list mailing list