Esempio n. 1
0
 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!")
Esempio n. 4
0
    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")