def test_generated_cmd_hold_packages(monkeypatch, catch_generated_commands): packages = ['package1', 'package2'] monkeypatch.setattr(shutil, 'which', lambda *_: 'path') NodeControlUtil.hold_packages(packages) assert len(generated_commands) == 1 assert generated_commands[0] == "apt-mark hold {}".format( ' '.join(packages))
def start(self): NodeControlUtil.hold_packages(self.config.PACKAGES_TO_HOLD + self.hold_ext) # Sockets from which we expect to read readers = [self.server] # Sockets to which we expect to write writers = [] errs = [] while readers: # Wait for at least one of the sockets to be ready for processing logger.debug('Waiting for the next event') readable, writable, exceptional = select.select( readers, writers, errs) for s in readable: if s is self.server: # A "readable" server socket is ready to accept a # connection connection, client_address = s.accept() logger.debug('New connection from {} on fd {}' .format(client_address, connection.fileno())) connection.setblocking(0) readers.append(connection) else: data = s.recv(8192) if data: logger.debug( 'Received "{}" from {} on fd {}' .format(data, s.getpeername(), s.fileno())) self._process_data(data) else: logger.debug('Closing socket with fd {}' .format(s.fileno())) readers.remove(s) s.close()