1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-18 04:18:10 +00:00

ci: check model before flashing

This commit is contained in:
Martin Milata 2021-02-15 13:23:23 +01:00
parent 17494b2276
commit 3213557f72
3 changed files with 12 additions and 11 deletions

View File

@ -20,10 +20,11 @@ class Device:
return run(full_cmd, shell=True, check=True, **kwargs)
def check_model(self, model=None):
res = self.run_trezorctl("list", capture_output=True, text=True).stdout
self.log(res)
res = self.run_trezorctl("list", capture_output=True, text=True)
self.log(res.stdout)
self.log(res.stderr)
self.run_trezorctl("get-features | grep version")
lines = res.splitlines()
lines = res.stdout.splitlines()
if len(lines) != 1:
raise RuntimeError("{} trezors connected".format(len(lines)))
if model and model not in lines[0]:

View File

@ -27,9 +27,9 @@ class TrezorOne(Device):
self.wait(3)
self._enter_bootloader()
self.run_trezorctl("list")
self.wait(3)
self.check_model("Trezor 1 bootloader")
self.run_trezorctl(trezorctlcmd)
self.wait(3)
self.touch("right", "click")

View File

@ -3,18 +3,18 @@ from .device import Device
class TrezorT(Device):
def update_firmware(self, file=None):
# reset to enter bootloader again
self.power_off()
self.power_on()
self.run_trezorctl("list")
if not file:
raise ValueError(
"Uploading production firmware will replace the bootloader, it is not allowed!"
)
# reset to enter bootloader again
self.power_off()
self.power_on()
self.wait(5)
self.check_model("Trezor T bootloader")
self.run_trezorctl("device wipe --bootloader || true")
self.wait(5)
self.power_off()