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) @@ -717,6 +718,26 @@ class Tests(unittest.TestCase): self.assertEqual(self.get_dbus_property('OnLowBattery'), False) 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 #