mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-11-04 08:57:29 +01:00 
			
		
		
		
	autotests: moved simpleAgent to utility dir
This commit is contained in:
		
							parent
							
								
									39b9f26e44
								
							
						
					
					
						commit
						2e4d520dbb
					
				
							
								
								
									
										95
									
								
								autotests/utility/simpleAgent.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										95
									
								
								autotests/utility/simpleAgent.py
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,95 @@
 | 
			
		||||
#!/usr/bin/python3
 | 
			
		||||
 | 
			
		||||
#built-in python libraries
 | 
			
		||||
from gi.repository import GLib
 | 
			
		||||
import dbus
 | 
			
		||||
import dbus.service
 | 
			
		||||
import dbus.mainloop.glib
 | 
			
		||||
import logging
 | 
			
		||||
import traceback
 | 
			
		||||
import threading
 | 
			
		||||
import time
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
sys.path.append('../utility') #needed to import all the utlilty modules
 | 
			
		||||
import utility
 | 
			
		||||
from random import randrange
 | 
			
		||||
 | 
			
		||||
def defineAgentVars():
 | 
			
		||||
    global manager, pathAgent
 | 
			
		||||
    bus = dbus.SystemBus()
 | 
			
		||||
    pathAgent = "/utility/agent/" + str(randrange(100))
 | 
			
		||||
    manager = dbus.Interface(bus.get_object('net.connman.iwd', "/"),
 | 
			
		||||
                          'net.connman.iwd.AgentManager')
 | 
			
		||||
 | 
			
		||||
def getManager():
 | 
			
		||||
    return manager
 | 
			
		||||
 | 
			
		||||
def getPathAgent():
 | 
			
		||||
    return pathAgent
 | 
			
		||||
 | 
			
		||||
class Agent(dbus.service.Object):
 | 
			
		||||
    @dbus.service.method("net.connman.iwd.Agent",
 | 
			
		||||
                            in_signature='', out_signature='')
 | 
			
		||||
    def Release(self):
 | 
			
		||||
        logger.debug("Release")
 | 
			
		||||
        mainloop.quit()
 | 
			
		||||
 | 
			
		||||
    @dbus.service.method("net.connman.iwd.Agent",
 | 
			
		||||
                            in_signature='o',
 | 
			
		||||
                            out_signature='s')
 | 
			
		||||
    def RequestPassphrase(self, path):
 | 
			
		||||
        utility.initLogger()
 | 
			
		||||
        logger = logging.getLogger(__name__)
 | 
			
		||||
        logger.info("RequestPassphrase")
 | 
			
		||||
        return 'EasilyGuessedPassword'
 | 
			
		||||
 | 
			
		||||
def startAgent(mainloop):
 | 
			
		||||
    mainloop.run()
 | 
			
		||||
 | 
			
		||||
def registerAgent(bus, mainloop):
 | 
			
		||||
    defineAgentVars()
 | 
			
		||||
    manager = getManager()
 | 
			
		||||
    pathAgent = getPathAgent()
 | 
			
		||||
    object = Agent(bus, pathAgent)
 | 
			
		||||
    try:
 | 
			
		||||
        manager.RegisterAgent(pathAgent)
 | 
			
		||||
        logger.debug("Registered iwd agent")
 | 
			
		||||
    except:
 | 
			
		||||
        logger.debug("Error in registering path")
 | 
			
		||||
        logger.debug(traceback.print_exc(file=sys.stdout))
 | 
			
		||||
 | 
			
		||||
    threading.Thread(target=delayedUnregister, args=(manager, pathAgent,
 | 
			
		||||
                                                       mainloop,)).start()
 | 
			
		||||
 | 
			
		||||
def unregisterAgent(manager, pathAgent):
 | 
			
		||||
    try:
 | 
			
		||||
        manager.UnregisterAgent(pathAgent)
 | 
			
		||||
        logger.debug("UnRegistered iwd agent")
 | 
			
		||||
    except:
 | 
			
		||||
        logger.debug("Error in unregistering path")
 | 
			
		||||
        logger.debug(traceback.print_exc(file=sys.stdout))
 | 
			
		||||
 | 
			
		||||
def delayedUnregister(manager, path, mainloop):
 | 
			
		||||
    counter = 1
 | 
			
		||||
    while (utility.getCurrentlyConnectedDevice() == "" and counter < 10):
 | 
			
		||||
         time.sleep(1)
 | 
			
		||||
         counter += 1
 | 
			
		||||
         continue
 | 
			
		||||
 | 
			
		||||
    time.sleep(1)
 | 
			
		||||
    unregisterAgent(manager, path)
 | 
			
		||||
    mainloop.quit()
 | 
			
		||||
 | 
			
		||||
def init():
 | 
			
		||||
    global logger
 | 
			
		||||
    utility.initLogger()
 | 
			
		||||
    logger = logging.getLogger(__name__)
 | 
			
		||||
    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
 | 
			
		||||
    bus = dbus.SystemBus()
 | 
			
		||||
    mainloop = GLib.MainLoop()
 | 
			
		||||
    registerAgent(bus, mainloop)
 | 
			
		||||
    threading.Thread(target=startAgent, args=(mainloop,)).start()
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    init()
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user