Patchwork [1/2] test: execute g_test_run when tests are skipped

login
register
mail settings
Submitter Paolo Bonzini
Date Dec. 6, 2018, 9:50 p.m.
Message ID <20181206215026.7716-2-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/674599/
State New
Headers show

Comments

Paolo Bonzini - Dec. 6, 2018, 9:50 p.m.
Sometimes a test's main() function recognizes that the environment
does not support the test, and therefore exits.  In this case, we
still should run g_test_run() so that a TAP harness will print the
test plan ("1..0") and the test will be marked as skipped.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/cdrom-test.c     | 2 +-
 tests/migration-test.c | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)
Thomas Huth - Dec. 7, 2018, 6:17 a.m.
On 2018-12-06 22:50, Paolo Bonzini wrote:
> Sometimes a test's main() function recognizes that the environment
> does not support the test, and therefore exits.  In this case, we
> still should run g_test_run() so that a TAP harness will print the
> test plan ("1..0") and the test will be marked as skipped.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/cdrom-test.c     | 2 +-
>  tests/migration-test.c | 8 ++++----
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/cdrom-test.c b/tests/cdrom-test.c
> index 9b43dc9ab4..14bd981336 100644
> --- a/tests/cdrom-test.c
> +++ b/tests/cdrom-test.c
> @@ -169,7 +169,7 @@ int main(int argc, char **argv)
>  
>      if (exec_genisoimg(genisocheck)) {
>          /* genisoimage not available - so can't run tests */
> -        return 0;
> +        return g_test_run();
>      }
>  
>      ret = prepare_image(arch, isoimage);
> diff --git a/tests/migration-test.c b/tests/migration-test.c
> index 06ca5068d8..8352612364 100644
> --- a/tests/migration-test.c
> +++ b/tests/migration-test.c
> @@ -789,7 +789,7 @@ int main(int argc, char **argv)
>      g_test_init(&argc, &argv, NULL);
>  
>      if (!ufd_version_check()) {
> -        return 0;
> +        return g_test_run();
>      }
>  
>      /*
> @@ -800,7 +800,7 @@ int main(int argc, char **argv)
>      if (g_str_equal(qtest_get_arch(), "ppc64") &&
>          access("/sys/module/kvm_hv", F_OK)) {
>          g_test_message("Skipping test: kvm_hv not available");
> -        return 0;
> +        return g_test_run();
>      }
>  
>      /*
> @@ -811,11 +811,11 @@ int main(int argc, char **argv)
>  #if defined(HOST_S390X)
>          if (access("/dev/kvm", R_OK | W_OK)) {
>              g_test_message("Skipping test: kvm not available");
> -            return 0;
> +            return g_test_run();
>          }
>  #else
>          g_test_message("Skipping test: Need s390x host to work properly");

TODO: Switch these skip messages to g_test_skip() now that we do not
have to deal with broken gtester binaries anymore... (could be done in a
future patch, though)

 Thomas

Patch

diff --git a/tests/cdrom-test.c b/tests/cdrom-test.c
index 9b43dc9ab4..14bd981336 100644
--- a/tests/cdrom-test.c
+++ b/tests/cdrom-test.c
@@ -169,7 +169,7 @@  int main(int argc, char **argv)
 
     if (exec_genisoimg(genisocheck)) {
         /* genisoimage not available - so can't run tests */
-        return 0;
+        return g_test_run();
     }
 
     ret = prepare_image(arch, isoimage);
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 06ca5068d8..8352612364 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -789,7 +789,7 @@  int main(int argc, char **argv)
     g_test_init(&argc, &argv, NULL);
 
     if (!ufd_version_check()) {
-        return 0;
+        return g_test_run();
     }
 
     /*
@@ -800,7 +800,7 @@  int main(int argc, char **argv)
     if (g_str_equal(qtest_get_arch(), "ppc64") &&
         access("/sys/module/kvm_hv", F_OK)) {
         g_test_message("Skipping test: kvm_hv not available");
-        return 0;
+        return g_test_run();
     }
 
     /*
@@ -811,11 +811,11 @@  int main(int argc, char **argv)
 #if defined(HOST_S390X)
         if (access("/dev/kvm", R_OK | W_OK)) {
             g_test_message("Skipping test: kvm not available");
-            return 0;
+            return g_test_run();
         }
 #else
         g_test_message("Skipping test: Need s390x host to work properly");
-        return 0;
+        return g_test_run();
 #endif
     }