summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pitt <martinpitt@gnome.org>2013-10-08 16:38:57 +0200
committerMartin Pitt <martinpitt@gnome.org>2013-10-08 17:06:14 +0200
commite89d04768019a3154e731067f2e88ed0b37742e1 (patch)
treec960358ad7c3660d865f62754a7842bb6d84e990
parent03c4abbfb525528a6b2335363dea9929d8516f90 (diff)
Linux integration tests: First test case for library
Start testing the client-side library through gobject-introspection. This covers https://bugs.freedesktop.org/show_bug.cgi?id=70283
-rw-r--r--src/Makefile.am2
-rwxr-xr-xsrc/linux/integration-test21
2 files changed, 22 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 075ad65..1a97c17 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -137,7 +137,7 @@ endif
if UP_BUILD_TESTS
check-local: upowerd
- env top_builddir=$(top_builddir) $(srcdir)/linux/integration-test -v
+ env GI_TYPELIB_PATH=$(top_builddir)/libupower-glib:$(GI_REPOSITORY_PATH) LD_LIBRARY_PATH=$(top_builddir)/libupower-glib/.libs:$(LD_LIBRARY_PATH) top_builddir=$(top_builddir) $(srcdir)/linux/integration-test -v
endif
endif
diff --git a/src/linux/integration-test b/src/linux/integration-test
index 68964ef..13d2634 100755
--- a/src/linux/integration-test
+++ b/src/linux/integration-test
@@ -28,6 +28,7 @@ import time
try:
from gi.repository import GLib
from gi.repository import Gio
+ from gi.repository import UPowerGlib
except ImportError as e:
sys.stderr.write('Skipping tests, PyGobject not available for Python 3, or missing GI typelibs: %s\n' % str(e))
sys.exit(0)
@@ -718,6 +719,26 @@ class Tests(unittest.TestCase):
self.stop_daemon()
#
+ # libupower-glib tests (through introspection)
+ #
+
+ def test_lib_daemon_properties(self):
+ '''library GI: daemon properties'''
+
+ self.start_daemon()
+ client = UPowerGlib.Client.new()
+ self.assertTrue(client.get_properties_sync(None))
+ self.assertRegex(client.get_daemon_version(), '^[0-9.]+$')
+ self.assertIn(client.get_can_hibernate(), [False, True])
+ self.assertIn(client.get_can_suspend(), [False, True])
+ self.assertIn(client.get_is_docked(), [False, True])
+ self.assertIn(client.get_lid_is_present(), [False, True])
+ self.assertIn(client.get_lid_is_closed(), [False, True])
+ self.assertEqual(client.get_on_battery(), False)
+ self.assertEqual(client.get_on_low_battery(), False)
+
+
+ #
# Helper methods
#