[Libguestfs] [PATCH v4 1/3] gobject: Use TEST_FUNCTIONS framework in tests.

Richard W.M. Jones rjones at redhat.com
Fri Jul 7 11:01:19 UTC 2017


---
 gobject/run-live-tests      |  8 ++++----
 gobject/run-tests           | 11 +++++------
 gobject/run-tests-retvalues |  7 +++----
 tests/test-functions.sh     | 16 ++++++++++++++++
 4 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/gobject/run-live-tests b/gobject/run-live-tests
index 2d93de2ca..5bedb2309 100755
--- a/gobject/run-live-tests
+++ b/gobject/run-live-tests
@@ -18,9 +18,9 @@
 
 set -e
 
-if [ -z "$GJS" ]; then
-  echo "GObject bind tests skipped: gjs is missing"
-  exit 77
-fi
+$TEST_FUNCTIONS
+skip_if_skipped
+skip_unless_environment_variable_set GJS
+skip_unless_phony_guest fedora.img
 
 $GJS $srcdir/tests-misc.js
diff --git a/gobject/run-tests b/gobject/run-tests
index 7393e7339..28e38d955 100755
--- a/gobject/run-tests
+++ b/gobject/run-tests
@@ -18,13 +18,12 @@
 
 set -e
 
-if [ -z "$GJS" ]; then
-  echo "GObject bind tests skipped: gjs is missing"
-  exit 77
-fi
+$TEST_FUNCTIONS
+skip_if_skipped
+skip_unless_environment_variable_set GJS
 
-echo "GObject bind tests skipped: Int64, OInt64 and OStringList are all broken"
-exit 77
+# This test is disabled until we fix 64 bit support.
+skip_because "Int64, OInt64 and OStringList are all broken"
 
 rm -f bindtests.tmp
 
diff --git a/gobject/run-tests-retvalues b/gobject/run-tests-retvalues
index e20321ea2..569040de4 100755
--- a/gobject/run-tests-retvalues
+++ b/gobject/run-tests-retvalues
@@ -18,9 +18,8 @@
 
 set -e
 
-if [ -z "$GJS" ]; then
-  echo "GObject bind tests skipped: gjs is missing"
-  exit 77
-fi
+$TEST_FUNCTIONS
+skip_if_skipped
+skip_unless_environment_variable_set GJS
 
 $GJS $srcdir/bindtests-retvalues.js 2>/dev/null
diff --git a/tests/test-functions.sh b/tests/test-functions.sh
index e5e824681..44ccd37b9 100755
--- a/tests/test-functions.sh
+++ b/tests/test-functions.sh
@@ -211,6 +211,15 @@ skip_unless_libvirt_minimum_version ()
     fi
 }
 
+# Skip unless the environment variable named is set to a non-empty value.
+skip_unless_environment_variable_set ()
+{
+    if [ -z "${!1}" ]; then
+        echo "$(basename $0): test skipped because \$$1 is not set"
+        exit 77
+    fi
+}
+
 # Run an external command and skip if the command fails.  This can be
 # used to test if a command exists.  Normally you should use
 # `cmd --help' or `cmd --version' or similar.
@@ -222,6 +231,13 @@ skip_unless ()
     fi
 }
 
+# Use this if a test is broken.  "$1" should contain the reason.
+skip_because ()
+{
+    echo "$(basename $0): test skipped because: $1"
+    exit 77
+}
+
 # Skip if the user is trying to run a test as root.
 # Tests shouldn't be run as root, but a few are especially dangerous.
 skip_if_root ()
-- 
2.13.2




More information about the Libguestfs mailing list