[gnome-settings-daemon/wip/hadess/lid-is-closed-removal: 1/2] power: Set logind lid state property in test environment




commit 168f4c029421bd5a2621a27844417df2b244f3f5
Author: Benjamin Berg <bberg redhat com>
Date:   Wed Mar 9 20:32:48 2022 +0100

    power: Set logind lid state property in test environment

 plugins/power/test.py | 26 ++++++++++++--------------
 tests/gsdtestcase.py  |  3 +++
 2 files changed, 15 insertions(+), 14 deletions(-)
---
diff --git a/plugins/power/test.py b/plugins/power/test.py
index c35c1541..ab1fb976 100755
--- a/plugins/power/test.py
+++ b/plugins/power/test.py
@@ -209,6 +209,13 @@ class PowerPluginBase(gsdtestcase.GSDTestCase):
                                                   'brightness', str(brightness)],
                                                  [])
 
+    def set_lid_closed(self, state):
+        # We also set the upower object as mutter still uses it
+        self.logind_obj.Set('org.freedesktop.login1.Manager', 'LidClosed', state)
+        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', state)
+        self.logind_obj.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+
     def get_brightness(self):
         max_brightness = int(open(os.path.join(self.testbed.get_root_dir() + self.backlight, 
'max_brightness')).read())
 
@@ -598,8 +605,7 @@ class PowerPluginTest4(PowerPluginBase):
         self.check_for_lid_uninhibited(gsdpowerconstants.LID_CLOSE_SAFETY_TIMEOUT + 2)
 
         # Close the lid
-        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', True)
-        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.set_lid_closed(True)
 
         # Check that we've blanked
         time.sleep(2)
@@ -625,9 +631,7 @@ class PowerPluginTest4(PowerPluginBase):
         # Wait for startup inhibition to be gone
         self.check_for_lid_uninhibited(gsdpowerconstants.LID_CLOSE_SAFETY_TIMEOUT + 2)
 
-        # Close the lid
-        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', True)
-        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.set_lid_closed(True)
 
         # Check that we've blanked
         self.check_blank(4)
@@ -650,16 +654,12 @@ class PowerPluginTest4(PowerPluginBase):
         # Wait for startup inhibition to be gone
         self.check_for_lid_uninhibited(gsdpowerconstants.LID_CLOSE_SAFETY_TIMEOUT + 2)
 
-        # Close the lid
-        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', True)
-        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.set_lid_closed(True)
 
         # Check that we've blanked
         self.check_blank(2)
 
-        # Reopen the lid
-        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', False)
-        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.set_lid_closed(False)
 
         # Check for unblanking
         self.check_unblank(2)
@@ -730,9 +730,7 @@ class PowerPluginTest5(PowerPluginBase):
         # Check that we do not uninhibit with the external monitor attached
         self.check_no_lid_uninhibited(gsdpowerconstants.LID_CLOSE_SAFETY_TIMEOUT + 1)
 
-        # Close the lid
-        self.obj_upower.Set('org.freedesktop.UPower', 'LidIsClosed', True)
-        self.obj_upower.EmitSignal('', 'Changed', '', [], dbus_interface='org.freedesktop.DBus.Mock')
+        self.set_lid_closed(True)
         time.sleep(0.5)
 
         # Unplug the external monitor
diff --git a/tests/gsdtestcase.py b/tests/gsdtestcase.py
index fab6bee2..fe5c50b7 100644
--- a/tests/gsdtestcase.py
+++ b/tests/gsdtestcase.py
@@ -223,6 +223,9 @@ class GSDTestCase(X11SessionTestCase):
 
         self.logind_obj.AddMethod('org.freedesktop.login1.Session', 'SetBrightness', 'ssu', '', '')
 
+        # Make sure we have the LidClosed property
+        self.logind_obj.AddProperty('org.freedesktop.login1.Manager', 'LidClosed', False)
+
     def stop_logind(self):
         '''stop mock logind'''
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]