def to_serial(self, serial): '''Writes a payload to the serial port''' if not self.is_long: payload_bytes = self.__encode() log.debug('[SENT] - %s', self.format_bytes(payload_bytes)) serial.write(payload_bytes) else: log.debug('[DROPPED LONG PAYLOAD]') return self
def setUp(self): # set and download required binaries (snapteld, snaptel, plugins) self.binaries = utils.set_binaries() utils.download_binaries(self.binaries) log.debug("Starting snapteld") self.binaries.snapteld.start() if not self.binaries.snapteld.isAlive(): self.fail("snapteld thread died") log.debug("Waiting for snapteld to finish starting") if not self.binaries.snapteld.wait(): log.error("snapteld errors: {}".format(self.binaries.snapteld.errors)) self.binaries.snapteld.kill() self.fail("snapteld not ready, timeout!")
def setUp(self): # set and download required binaries (snapd, snapctl, plugins) self.binaries = utils.set_binaries() utils.download_binaries(self.binaries) log.debug("Starting snapd") self.binaries.snapd.start() if not self.binaries.snapd.isAlive(): self.fail("snapd thread died") log.debug("Waiting for snapd to finish starting") if not self.binaries.snapd.wait(): log.error("snapd errors: {}".format(self.binaries.snapd.errors)) self.binaries.snapd.kill() self.fail("snapd not ready, timeout!")
def from_serial(serial): '''Creates a payload from the serial port''' header = serial.read(2) if header != HEADER: raise PayloadError('Invalid payload, bad header.') length = int.from_bytes(serial.read(1), byteorder='big') if length == 0: length = int.from_bytes(serial.read(2), byteorder='big') body = serial.read(length) checksum = serial.read(1) payload = Payload(bytes([body[0]]), body[1:3], body[3:]) log.debug('[RECEIVED] - %s %s', Payload.format_bytes(body), Payload.format_bytes(checksum)) # pylint: disable=W0212 if checksum != payload.__checksum(): raise PayloadError('Invalid payload, bad checksum.') return payload
def tearDown(self): log.debug("Stopping snapteld thread") self.binaries.snapteld.stop() if self.binaries.snapteld.isAlive(): log.warn("snapteld thread did not died")
def tearDown(self): log.debug("Stopping snapd thread") self.binaries.snapd.stop() if self.binaries.snapd.isAlive(): log.warn("snapd thread did not died")