def setUp(self): os.environ['GSD_MOCKED'] = '1' self.check_logind_gnome_session() self.start_logind() self.daemon_death_expected = False # start mock upowerd (self.upowerd, self.obj_upower) = self.spawn_server_template('upower', { 'DaemonVersion': '0.99', 'OnBattery': True, 'LidIsClosed': False }, stdout=subprocess.PIPE) gsdtestcase.set_nonblock(self.upowerd.stdout) # start mock gnome-shell screensaver (self.screensaver, self.obj_screensaver) = self.spawn_server_template( 'gnome_screensaver', stdout=subprocess.PIPE) gsdtestcase.set_nonblock(self.screensaver.stdout) self.session_log_write = open(os.path.join(self.workdir, 'gnome-session.log'), 'wb', buffering=0) self.session = subprocess.Popen([ 'gnome-session', '-f', '-a', os.path.join(self.workdir, 'autostart'), '--session=dummy', '--debug' ], stdout=self.session_log_write, stderr=subprocess.STDOUT) # wait until the daemon is on the bus try: self.wait_for_bus_object('org.gnome.SessionManager', '/org/gnome/SessionManager') except: # on failure, print log with open(self.session_log_write.name) as f: print('----- session log -----\n%s\n------' % f.read()) raise self.session_log = open(self.session_log_write.name, buffering=0) self.obj_session_mgr = self.session_bus_con.get_object( 'org.gnome.SessionManager', '/org/gnome/SessionManager') self.start_mutter() # Set up the gnome-session presence obj_session_presence = self.session_bus_con.get_object( 'org.gnome.SessionManager', '/org/gnome/SessionManager/Presence') self.obj_session_presence_props = dbus.Interface( obj_session_presence, dbus.PROPERTIES_IFACE) # ensure that our tests don't lock the screen when the screensaver # gets active self.settings_screensaver = Gio.Settings( 'org.gnome.desktop.screensaver') self.settings_screensaver['lock-enabled'] = False # Ensure we set up the external monitor state self.set_has_external_monitor(False) self.settings_gsd_power = Gio.Settings( 'org.gnome.settings-daemon.plugins.power') Gio.Settings.sync() self.plugin_log_write = open(os.path.join(self.workdir, 'plugin_power.log'), 'wb', buffering=0) # avoid painfully long delays of actions for tests env = os.environ.copy() # Disable the use of the PolicyKit helper for brightness env['GSD_DISABLE_BACKLIGHT_HELPER'] = '1' # Disable PulseAudio output from libcanberra env['CANBERRA_DRIVER'] = 'null' self.daemon = subprocess.Popen( [os.path.join(builddir, 'gsd-power'), '--verbose'], # comment out this line if you want to see the logs in real time stdout=self.plugin_log_write, stderr=subprocess.STDOUT, env=env) # you can use this for reading the current daemon log in tests self.plugin_log = open(self.plugin_log_write.name, buffering=0) # wait until plugin is ready timeout = 100 while timeout > 0: time.sleep(0.1) timeout -= 1 log = self.plugin_log.read() if 'System inhibitor fd is' in log: break # always start with zero idle time self.reset_idle_timer() # flush notification log try: self.p_notify.stdout.read() except IOError: pass
def setUp(self): os.environ['GSD_MOCKED']='1' self.check_logind_gnome_session() self.start_logind() self.daemon_death_expected = False # start mock upowerd (self.upowerd, self.obj_upower) = self.spawn_server_template( 'upower', {'DaemonVersion': '0.99', 'OnBattery': True, 'LidIsClosed': False}, stdout=subprocess.PIPE) gsdtestcase.set_nonblock(self.upowerd.stdout) # start mock gnome-shell screensaver (self.screensaver, self.obj_screensaver) = self.spawn_server_template( 'gnome_screensaver', stdout=subprocess.PIPE) gsdtestcase.set_nonblock(self.screensaver.stdout) self.session_log_write = open(os.path.join(self.workdir, 'gnome-session.log'), 'wb', buffering=0) self.session = subprocess.Popen(['gnome-session', '-f', '-a', os.path.join(self.workdir, 'autostart'), '--session=dummy', '--debug'], stdout=self.session_log_write, stderr=subprocess.STDOUT) # wait until the daemon is on the bus try: self.wait_for_bus_object('org.gnome.SessionManager', '/org/gnome/SessionManager') except: # on failure, print log with open(self.session_log_write.name) as f: print('----- session log -----\n%s\n------' % f.read()) raise self.session_log = open(self.session_log_write.name, buffering=0) self.obj_session_mgr = self.session_bus_con.get_object( 'org.gnome.SessionManager', '/org/gnome/SessionManager') self.start_mutter() # Set up the gnome-session presence obj_session_presence = self.session_bus_con.get_object( 'org.gnome.SessionManager', '/org/gnome/SessionManager/Presence') self.obj_session_presence_props = dbus.Interface(obj_session_presence, dbus.PROPERTIES_IFACE) # ensure that our tests don't lock the screen when the screensaver # gets active self.settings_screensaver = Gio.Settings('org.gnome.desktop.screensaver') self.settings_screensaver['lock-enabled'] = False # Ensure we set up the external monitor state self.set_has_external_monitor(False) self.settings_gsd_power = Gio.Settings('org.gnome.settings-daemon.plugins.power') Gio.Settings.sync() self.plugin_log_write = open(os.path.join(self.workdir, 'plugin_power.log'), 'wb', buffering=0) # avoid painfully long delays of actions for tests env = os.environ.copy() # Disable the use of the PolicyKit helper for brightness env['GSD_DISABLE_BACKLIGHT_HELPER'] = '1' # Disable PulseAudio output from libcanberra env['CANBERRA_DRIVER'] = 'null' self.daemon = subprocess.Popen( [os.path.join(builddir, 'gsd-power'), '--verbose'], # comment out this line if you want to see the logs in real time stdout=self.plugin_log_write, stderr=subprocess.STDOUT, env=env) # you can use this for reading the current daemon log in tests self.plugin_log = open(self.plugin_log_write.name, buffering=0) # wait until plugin is ready timeout = 100 while timeout > 0: time.sleep(0.1) timeout -= 1 log = self.plugin_log.read() if 'System inhibitor fd is' in log: break # always start with zero idle time self.reset_idle_timer() # flush notification log try: self.p_notify.stdout.read() except IOError: pass