def init_port_agent(self): """ @brief Launch the driver process and driver client. This is used in the integration and qualification tests. The port agent abstracts the physical interface with the instrument. @return return the pid to the logger process """ if self.port_agents: log.error("Port agent already initialized") return config = self.port_agent_config() log.debug("port agent config: %s", config) port_agents = {} if config['instrument_type'] != ConfigTypes.MULTI: config = {'only one port agent here!': config} for name, each in config.items(): if type(each) != dict: continue port_agent_host = each.get('device_addr') if port_agent_host is not None: port_agent = PortAgentProcess.launch_process(each, timeout=60, test_mode=True) port = port_agent.get_data_port() pid = port_agent.get_pid() if port_agent_host == LOCALHOST: log.info('Started port agent pid %s listening at port %s' % (pid, port)) else: log.info("Connecting to port agent on host: %s, port: %s", port_agent_host, port) port_agents[name] = port_agent self.addCleanup(self.stop_port_agent) self.port_agents = port_agents
def init_port_agent(self): """ @brief Launch the driver process and driver client. This is used in the integration and qualification tests. The port agent abstracts the physical interface with the instrument. @retval return the pid to the logger process """ if self.port_agent: log.error("Port agent already initialized") return log.debug("Startup Port Agent") # comm_config = self.get_comm_config() config = self.port_agent_config() log.debug("port agent config: %s" % config) port_agent = PortAgentProcess.launch_process(config, timeout=60, test_mode=True) port = port_agent.get_data_port() pid = port_agent.get_pid() log.info('Started port agent pid %s listening at port %s' % (pid, port)) self.addCleanup(self.stop_port_agent) self.port_agent = port_agent return port