Skip to content

Commit 1edb54a

Browse files
committed
fix(python): skip stale protocol v1 responses
1 parent 501a6e5 commit 1edb54a

4 files changed

Lines changed: 47 additions & 1 deletion

File tree

python/.changelog.d/6859.fixed

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Skip stale protocol v1 responses on probing.

python/src/trezorlib/protocol_v1.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from .log import DUMP_BYTES
3030
from .thp import pairing
3131
from .tools import enter_context
32+
from .transport import Timeout
3233

3334
if t.TYPE_CHECKING:
3435
from .mapping import ProtobufMapping
@@ -347,9 +348,19 @@ def _read(self, session: SessionV1, timeout: float | None = None) -> MessageType
347348

348349
@enter_context
349350
def probe(
350-
transport: Transport, *, mapping: ProtobufMapping = mapping.DEFAULT_MAPPING
351+
transport: Transport,
352+
*,
353+
mapping: ProtobufMapping = mapping.DEFAULT_MAPPING,
354+
retries: int = 10,
351355
) -> bool:
352356
"""Probe the transport to see if it supports protocol v1."""
357+
for _ in range(retries):
358+
try:
359+
# skip stale responses (to prevent the device from blocking during sending)
360+
resp = read(transport, _ignore_bad_magic=True, timeout=0.1)
361+
LOG.debug("stale response: %s", resp)
362+
except Timeout:
363+
break
353364
cancel_msg = messages.Cancel()
354365
cancel_msg_type, cancel_msg_bytes = mapping.encode(cancel_msg)
355366
write(transport, cancel_msg_type, cancel_msg_bytes)

tests/device_tests/test_basic.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import pytest
1818

1919
from trezorlib import messages, models
20+
from trezorlib.client import get_client
2021
from trezorlib.debuglink import DebugSession as Session
2122
from trezorlib.debuglink import TrezorTestContext as Client
2223

@@ -72,3 +73,17 @@ def test_not_initialized(session: Session):
7273
messages.FailureType.InvalidSession,
7374
)
7475
assert resp.code == expected[session.test_ctx.is_thp()]
76+
77+
78+
@pytest.mark.protocol("v1")
79+
def test_desync_v1(client: Client):
80+
with client.get_session(passphrase=None) as session:
81+
resp = session.call_raw(messages.Ping(message="test", button_protection=True))
82+
messages.ButtonRequest.ensure_isinstance(resp)
83+
session.write(messages.ButtonAck())
84+
session.debug.press_no()
85+
# don't read the response - simulating host disconnection
86+
87+
# Creating a new client fails without skipping stale responses
88+
# (see https://github.com/trezor/trezor-firmware/issues/6859)
89+
get_client(client.app, client.transport).ping("reconnect")

tests/ui_tests/fixtures.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,7 @@
778778
"T1B1_en_test_autolock.py::test_autolock_ignores_getaddress": "c3b9058d19b5267282d06fcf67d9728bc17332c875d25758ff3ef1c23f10eb92",
779779
"T1B1_en_test_autolock.py::test_autolock_ignores_initialize": "c3b9058d19b5267282d06fcf67d9728bc17332c875d25758ff3ef1c23f10eb92",
780780
"T1B1_en_test_basic.py::test_capabilities": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
781+
"T1B1_en_test_basic.py::test_desync_v1": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
781782
"T1B1_en_test_basic.py::test_device_id_different": "9f7416570bbc983e5c3e78026731599b59f86dfab09e88d922948c3cd2b0715b",
782783
"T1B1_en_test_basic.py::test_device_id_same": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
783784
"T1B1_en_test_basic.py::test_not_initialized": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
@@ -2761,6 +2762,7 @@
27612762
"T2T1_cs_test_autolock.py::test_autolock_ignores_getaddress": "107b1a0eb93aa9fd80046e6760898e43c6610840004f280d35ff976684510841",
27622763
"T2T1_cs_test_autolock.py::test_autolock_ignores_initialize": "107b1a0eb93aa9fd80046e6760898e43c6610840004f280d35ff976684510841",
27632764
"T2T1_cs_test_basic.py::test_capabilities": "f2b80196c81ce473b7f24f16f6192ac76d9d2ca23fb0b40053c00d02b53d5111",
2765+
"T2T1_cs_test_basic.py::test_desync_v1": "32aa340ac8713ba41f9fa83fa682f5db3a0017a3688bdd60862cced92aee5bb0",
27642766
"T2T1_cs_test_basic.py::test_device_id_different": "4deac7bf4da5b298a09f166c71506b3a8e82fb9d37ce2ef8e4218d765132c511",
27652767
"T2T1_cs_test_basic.py::test_device_id_same": "f2b80196c81ce473b7f24f16f6192ac76d9d2ca23fb0b40053c00d02b53d5111",
27662768
"T2T1_cs_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -4542,6 +4544,7 @@
45424544
"T2T1_de_test_autolock.py::test_autolock_ignores_getaddress": "b0095da5511f046af9ba81e22436cc7b749da2307dd594ae39beb8e3c1c517b2",
45434545
"T2T1_de_test_autolock.py::test_autolock_ignores_initialize": "b0095da5511f046af9ba81e22436cc7b749da2307dd594ae39beb8e3c1c517b2",
45444546
"T2T1_de_test_basic.py::test_capabilities": "efeaf51fe18b983e9b1a6947a939ad305a92e57798fe07110bb61c0f65755881",
4547+
"T2T1_de_test_basic.py::test_desync_v1": "2ddd34bac50378c810b4b7e125fa04bb619fc55525378005611e7f4c48806a15",
45454548
"T2T1_de_test_basic.py::test_device_id_different": "c2346f3c6fa8c74d9a0b4965f56495c4fad41f9bf2c1fe72b806155d6725ae07",
45464549
"T2T1_de_test_basic.py::test_device_id_same": "efeaf51fe18b983e9b1a6947a939ad305a92e57798fe07110bb61c0f65755881",
45474550
"T2T1_de_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -6323,6 +6326,7 @@
63236326
"T2T1_en_test_autolock.py::test_autolock_ignores_getaddress": "fad121eefa1b63197e886358fecbbf2ec05232a00fd0ed5025210710b60ba91a",
63246327
"T2T1_en_test_autolock.py::test_autolock_ignores_initialize": "fad121eefa1b63197e886358fecbbf2ec05232a00fd0ed5025210710b60ba91a",
63256328
"T2T1_en_test_basic.py::test_capabilities": "8aa7c68cd09e700e8c6903dcfc39c4a66214481c12c34dc56762829478399b79",
6329+
"T2T1_en_test_basic.py::test_desync_v1": "cc5a955408e7cb2f54361215a0a64c3fd1abe8fc295fa5cc5849c8dd99cd02d7",
63266330
"T2T1_en_test_basic.py::test_device_id_different": "fc0f865ca461cee420e4a3772159e662d38711582d67b4a2180e9b378b0ef794",
63276331
"T2T1_en_test_basic.py::test_device_id_same": "8aa7c68cd09e700e8c6903dcfc39c4a66214481c12c34dc56762829478399b79",
63286332
"T2T1_en_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -8122,6 +8126,7 @@
81228126
"T2T1_es_test_autolock.py::test_autolock_ignores_getaddress": "9d3764b6cc0b7fed21a1893f5dbad87cb75690aded17b3f1491f289ab8501283",
81238127
"T2T1_es_test_autolock.py::test_autolock_ignores_initialize": "9d3764b6cc0b7fed21a1893f5dbad87cb75690aded17b3f1491f289ab8501283",
81248128
"T2T1_es_test_basic.py::test_capabilities": "17d836396f272c01cafa175aa87b0c076aedf7698c935d1921c7d3d7e8911903",
8129+
"T2T1_es_test_basic.py::test_desync_v1": "8ccb59eb4e29e294aa161f501b180ee8726ca4b415db9c74ae621f08525d36de",
81258130
"T2T1_es_test_basic.py::test_device_id_different": "632f03df29ec617ced116c51138d25df97c36dc12445e96690c87991f0c3d8b6",
81268131
"T2T1_es_test_basic.py::test_device_id_same": "17d836396f272c01cafa175aa87b0c076aedf7698c935d1921c7d3d7e8911903",
81278132
"T2T1_es_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -9903,6 +9908,7 @@
99039908
"T2T1_fr_test_autolock.py::test_autolock_ignores_getaddress": "6721fddfd9b39ba80793a8f8466bfcce76c71cae357e3a111b6f37b8db35eeaa",
99049909
"T2T1_fr_test_autolock.py::test_autolock_ignores_initialize": "6721fddfd9b39ba80793a8f8466bfcce76c71cae357e3a111b6f37b8db35eeaa",
99059910
"T2T1_fr_test_basic.py::test_capabilities": "7e5a99a4b6aad4cdf7a9f9aecf483faa381108ee2108efaba88f261e29ac1f8a",
9911+
"T2T1_fr_test_basic.py::test_desync_v1": "d111ba5740029a6b91e3f67a7a51f4ffefb846b035b29a5192440258e7359c04",
99069912
"T2T1_fr_test_basic.py::test_device_id_different": "a3d9587c740f993ccbe0fd10743837b177aa5c269c85700457af41dc0010a54b",
99079913
"T2T1_fr_test_basic.py::test_device_id_same": "7e5a99a4b6aad4cdf7a9f9aecf483faa381108ee2108efaba88f261e29ac1f8a",
99089914
"T2T1_fr_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -11684,6 +11690,7 @@
1168411690
"T2T1_pt_test_autolock.py::test_autolock_ignores_getaddress": "3545f0259c47be8f7088c1abe726516fc692ea331523405788c4ad8100c82b8f",
1168511691
"T2T1_pt_test_autolock.py::test_autolock_ignores_initialize": "3545f0259c47be8f7088c1abe726516fc692ea331523405788c4ad8100c82b8f",
1168611692
"T2T1_pt_test_basic.py::test_capabilities": "020b255e04b59e53d2aa87ae960038f4538d350de28df15a1ac41b376e9d04f2",
11693+
"T2T1_pt_test_basic.py::test_desync_v1": "00be979067b824dc99168df50c69151f4e5e8fabaf27ba42b9290c2007c7aa55",
1168711694
"T2T1_pt_test_basic.py::test_device_id_different": "40d7ed6da4212e7405fb3ada52e4851593841e8a5b4dc3688861ff44a597896d",
1168811695
"T2T1_pt_test_basic.py::test_device_id_same": "020b255e04b59e53d2aa87ae960038f4538d350de28df15a1ac41b376e9d04f2",
1168911696
"T2T1_pt_test_basic.py::test_not_initialized": "15a782d367c2eee82cacfcafdc198225cb8e3297487003f5ab71b79fe9b436c1",
@@ -13722,6 +13729,7 @@
1372213729
"T3B1_cs_test_autolock.py::test_autolock_ignores_getaddress": "64bd03111572bfcc4abb516d8042e0d0bcd0ddda79a32903e4a087f072212d77",
1372313730
"T3B1_cs_test_autolock.py::test_autolock_ignores_initialize": "64bd03111572bfcc4abb516d8042e0d0bcd0ddda79a32903e4a087f072212d77",
1372413731
"T3B1_cs_test_basic.py::test_capabilities": "aec89f6952811bcfa54db3842b2e2e24d7ae162a65bf19424b4e6b6620fe70bb",
13732+
"T3B1_cs_test_basic.py::test_desync_v1": "d13f0f2741bec86a3f9b9d54a3b48dc08f6426878a47028f55f6f1533e03f90e",
1372513733
"T3B1_cs_test_basic.py::test_device_id_different": "0d7bd0747ba855306466a8f23c0bd326d196c5a92fe7f256a65e80a307ce2f6e",
1372613734
"T3B1_cs_test_basic.py::test_device_id_same": "aec89f6952811bcfa54db3842b2e2e24d7ae162a65bf19424b4e6b6620fe70bb",
1372713735
"T3B1_cs_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -15444,6 +15452,7 @@
1544415452
"T3B1_de_test_autolock.py::test_autolock_ignores_getaddress": "f33fa7eddb1bbfe8f146f2b28ef0458371dcb3b09a1a83a506a29b6ad964b7b2",
1544515453
"T3B1_de_test_autolock.py::test_autolock_ignores_initialize": "f33fa7eddb1bbfe8f146f2b28ef0458371dcb3b09a1a83a506a29b6ad964b7b2",
1544615454
"T3B1_de_test_basic.py::test_capabilities": "14dfefb39e3707b5294815085c5d94626e4e632f7fd9ca60df4b28e57d015dde",
15455+
"T3B1_de_test_basic.py::test_desync_v1": "5c1f21814dbaebc391a193a8de1b329bd25100af536686525ac16ca57c5d7604",
1544715456
"T3B1_de_test_basic.py::test_device_id_different": "3e1dd6e8660b6391217b1f7068273df9d425313c2f8dd341c2003e31a254a4b5",
1544815457
"T3B1_de_test_basic.py::test_device_id_same": "14dfefb39e3707b5294815085c5d94626e4e632f7fd9ca60df4b28e57d015dde",
1544915458
"T3B1_de_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -17166,6 +17175,7 @@
1716617175
"T3B1_en_test_autolock.py::test_autolock_ignores_getaddress": "1ef137328001ef23bb7d59811bda83d17c7cebf10446a725d30a324880bc71bb",
1716717176
"T3B1_en_test_autolock.py::test_autolock_ignores_initialize": "1ef137328001ef23bb7d59811bda83d17c7cebf10446a725d30a324880bc71bb",
1716817177
"T3B1_en_test_basic.py::test_capabilities": "7945fdf0623a34efada654fe62a57fa06c6ab0cf4383bc14c6b7acd594b10596",
17178+
"T3B1_en_test_basic.py::test_desync_v1": "a8b79a56e9a3f16c94e5048222c4cb3aca1c82c4ec6900919b11148e8334312c",
1716917179
"T3B1_en_test_basic.py::test_device_id_different": "c03e5e82d3154fccddc947abc709da8f67cf55b2da4ae3e8b066f915a6756f1e",
1717017180
"T3B1_en_test_basic.py::test_device_id_same": "7945fdf0623a34efada654fe62a57fa06c6ab0cf4383bc14c6b7acd594b10596",
1717117181
"T3B1_en_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -18888,6 +18898,7 @@
1888818898
"T3B1_es_test_autolock.py::test_autolock_ignores_getaddress": "82b4dec6590924697c489660cff1c9e7642b9ba2964be9ff53fbaa5d13a3374a",
1888918899
"T3B1_es_test_autolock.py::test_autolock_ignores_initialize": "82b4dec6590924697c489660cff1c9e7642b9ba2964be9ff53fbaa5d13a3374a",
1889018900
"T3B1_es_test_basic.py::test_capabilities": "1c43a01a3864c17b781e3a68121bb7c4378f858ab5c4db5b3d012f138eba5fb8",
18901+
"T3B1_es_test_basic.py::test_desync_v1": "4a716dded7dc2e69d8e4dc19c0449ba0e0801796054d6be1ea920663ef8d5ee4",
1889118902
"T3B1_es_test_basic.py::test_device_id_different": "148240900c1720b77495b447e55dab512f2d1b6e21592cab725abea71983cbc8",
1889218903
"T3B1_es_test_basic.py::test_device_id_same": "1c43a01a3864c17b781e3a68121bb7c4378f858ab5c4db5b3d012f138eba5fb8",
1889318904
"T3B1_es_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -20610,6 +20621,7 @@
2061020621
"T3B1_fr_test_autolock.py::test_autolock_ignores_getaddress": "5a72f6d653fba8b2a702df3f33cf5c54c9a7fb9418199da4ade98e0340d6773f",
2061120622
"T3B1_fr_test_autolock.py::test_autolock_ignores_initialize": "5a72f6d653fba8b2a702df3f33cf5c54c9a7fb9418199da4ade98e0340d6773f",
2061220623
"T3B1_fr_test_basic.py::test_capabilities": "979886e5de665a0a5bd752457a29ad2bd0aad9d94702754cb351dc7d31979b42",
20624+
"T3B1_fr_test_basic.py::test_desync_v1": "32bb40a9f1da9ea304c5f45e2296466bc1a167f7e01b417f1fe72ce0252d21ff",
2061320625
"T3B1_fr_test_basic.py::test_device_id_different": "97d18cab2fcb4c3cf4d18be19ee1d56c546f6ca64866f849ead428d573bab745",
2061420626
"T3B1_fr_test_basic.py::test_device_id_same": "979886e5de665a0a5bd752457a29ad2bd0aad9d94702754cb351dc7d31979b42",
2061520627
"T3B1_fr_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -22332,6 +22344,7 @@
2233222344
"T3B1_pt_test_autolock.py::test_autolock_ignores_getaddress": "e6e4b5c54a9a53f1bbdc1e99f39befc03b92c2bfccffc09141bf9c8152313954",
2233322345
"T3B1_pt_test_autolock.py::test_autolock_ignores_initialize": "e6e4b5c54a9a53f1bbdc1e99f39befc03b92c2bfccffc09141bf9c8152313954",
2233422346
"T3B1_pt_test_basic.py::test_capabilities": "bbd866375fe164eb4caaddceb8a49d710b09ad01ca2cf67a0006d3a0d3ecb121",
22347+
"T3B1_pt_test_basic.py::test_desync_v1": "b4294b00e4820c4881ac1a28dd0100fe3fb8e7d4bcfa1c0a19bb1222265b78e1",
2233522348
"T3B1_pt_test_basic.py::test_device_id_different": "1982fd7656e42167812661ad0e14149a924992b3a43465bd2344c1c03f39d51f",
2233622349
"T3B1_pt_test_basic.py::test_device_id_same": "bbd866375fe164eb4caaddceb8a49d710b09ad01ca2cf67a0006d3a0d3ecb121",
2233722350
"T3B1_pt_test_basic.py::test_not_initialized": "f4521a6e1979e44a1050c326098f98ae88a3a255461919644cb74f6f28369971",
@@ -24451,6 +24464,7 @@
2445124464
"T3T1_cs_test_autolock.py::test_autolock_ignores_getaddress": "35b620f09556547e15f4e97ac397298aecac150ff0e9f4d6ba2cd631346280a9",
2445224465
"T3T1_cs_test_autolock.py::test_autolock_ignores_initialize": "35b620f09556547e15f4e97ac397298aecac150ff0e9f4d6ba2cd631346280a9",
2445324466
"T3T1_cs_test_basic.py::test_capabilities": "9c20243bc5dacf2442af5a8778b66a0ab7cb978e11c02fec371f109fbc9d55f6",
24467+
"T3T1_cs_test_basic.py::test_desync_v1": "5f146c293a662d3399e67543e2d23e4f3e44d51c224dfec7618492a8f353eb8d",
2445424468
"T3T1_cs_test_basic.py::test_device_id_different": "aea11540ee9775b3c33686125f9f7895942144d5af8dcc18ab14124626f506d2",
2445524469
"T3T1_cs_test_basic.py::test_device_id_same": "9c20243bc5dacf2442af5a8778b66a0ab7cb978e11c02fec371f109fbc9d55f6",
2445624470
"T3T1_cs_test_basic.py::test_not_initialized": "13fa002861e42e18dbb21ae2376a25cb3738fb4d596814f0dede8a2eb0d36556",
@@ -26206,6 +26220,7 @@
2620626220
"T3T1_de_test_autolock.py::test_autolock_ignores_getaddress": "15fe089dbee01dd6ee299ab8acd40a489c8f150d0596f61712c5167825f59f5e",
2620726221
"T3T1_de_test_autolock.py::test_autolock_ignores_initialize": "15fe089dbee01dd6ee299ab8acd40a489c8f150d0596f61712c5167825f59f5e",
2620826222
"T3T1_de_test_basic.py::test_capabilities": "68c146f13417be0845fee20b1d8de4a05e0844608c2efb3cfae9f573be39f0c4",
26223+
"T3T1_de_test_basic.py::test_desync_v1": "27efd552f24818bcc602dc66afbfa672e5e13dfb40f978b07f08864ca05e2e09",
2620926224
"T3T1_de_test_basic.py::test_device_id_different": "014feb216b9bf67c9adb34102b3c5f0d4eb7a860abd987926ed0be11c32434c4",
2621026225
"T3T1_de_test_basic.py::test_device_id_same": "68c146f13417be0845fee20b1d8de4a05e0844608c2efb3cfae9f573be39f0c4",
2621126226
"T3T1_de_test_basic.py::test_not_initialized": "53e954ddaaebca92f068e0e13fe87d09798cbd59e85714d25f8f5886956ae58e",
@@ -27961,6 +27976,7 @@
2796127976
"T3T1_en_test_autolock.py::test_autolock_ignores_getaddress": "57037567472e8b5ee33d054c8be4ccf426880e0901087a1e3559f61b2f32c404",
2796227977
"T3T1_en_test_autolock.py::test_autolock_ignores_initialize": "57037567472e8b5ee33d054c8be4ccf426880e0901087a1e3559f61b2f32c404",
2796327978
"T3T1_en_test_basic.py::test_capabilities": "0064e8a52b9bff0c2a31432fa781b800afb21e8910d60f303671bdfc8d8425fc",
27979+
"T3T1_en_test_basic.py::test_desync_v1": "c41bf25278786dfbfde53afdec14c62e05b5af91f89f27b1fe960c54659f4d1a",
2796427980
"T3T1_en_test_basic.py::test_device_id_different": "1783c5833422138acd30cfdc0912b3a601d020ce30c4506150a78047f84a9cbc",
2796527981
"T3T1_en_test_basic.py::test_device_id_same": "0064e8a52b9bff0c2a31432fa781b800afb21e8910d60f303671bdfc8d8425fc",
2796627982
"T3T1_en_test_basic.py::test_not_initialized": "4bc037c13dd19f23a176243dfd29921cd51ce9e4155faa6346540a4663233318",
@@ -29716,6 +29732,7 @@
2971629732
"T3T1_es_test_autolock.py::test_autolock_ignores_getaddress": "78f008fc4c0cb2026647132dcbb3a98e1acafad464b9d4835a4ded2cf2a85774",
2971729733
"T3T1_es_test_autolock.py::test_autolock_ignores_initialize": "78f008fc4c0cb2026647132dcbb3a98e1acafad464b9d4835a4ded2cf2a85774",
2971829734
"T3T1_es_test_basic.py::test_capabilities": "41b9c9e85d64891dcfd03d675df77c533f035a2d191b161144d00afab69a589d",
29735+
"T3T1_es_test_basic.py::test_desync_v1": "b0ced8e318c942a9e6316c3c688ebf310c37bdb9e656c06a00e5a00a7868aa55",
2971929736
"T3T1_es_test_basic.py::test_device_id_different": "8c270b4d360635c98dad9a3f94cee69d0f46104bb72085bf24fbb133c861a3e4",
2972029737
"T3T1_es_test_basic.py::test_device_id_same": "41b9c9e85d64891dcfd03d675df77c533f035a2d191b161144d00afab69a589d",
2972129738
"T3T1_es_test_basic.py::test_not_initialized": "9bb7023f656f4fcd819bd648e96b4a0ea97bb2f04233ce48c72184f363f68c26",
@@ -31471,6 +31488,7 @@
3147131488
"T3T1_fr_test_autolock.py::test_autolock_ignores_getaddress": "527a66a4aac242c1f4d8bf037f95e301d1a52790b1358abc974aaa1b134fcc86",
3147231489
"T3T1_fr_test_autolock.py::test_autolock_ignores_initialize": "527a66a4aac242c1f4d8bf037f95e301d1a52790b1358abc974aaa1b134fcc86",
3147331490
"T3T1_fr_test_basic.py::test_capabilities": "116c64aa168d12181b7a5317677ddf135d739fdac22d38ff08571dc3301c2f47",
31491+
"T3T1_fr_test_basic.py::test_desync_v1": "b3c7298179a3338d7fcc5b84d8454a9717c0c83cd5e5698d8d325a03ee32dded",
3147431492
"T3T1_fr_test_basic.py::test_device_id_different": "50df84d863bb5233d39ae1f995adbcc9773cbe621974f2a42f079d01205e440e",
3147531493
"T3T1_fr_test_basic.py::test_device_id_same": "116c64aa168d12181b7a5317677ddf135d739fdac22d38ff08571dc3301c2f47",
3147631494
"T3T1_fr_test_basic.py::test_not_initialized": "67f8a621b6a0468bcc683c0da4278fd8fb644bb29af5b9cee84816691a07e541",
@@ -33226,6 +33244,7 @@
3322633244
"T3T1_pt_test_autolock.py::test_autolock_ignores_getaddress": "9a1af241f42b79f35eb7aa43590b51114c0f3289e7cab42dda80476e7b9571f7",
3322733245
"T3T1_pt_test_autolock.py::test_autolock_ignores_initialize": "9a1af241f42b79f35eb7aa43590b51114c0f3289e7cab42dda80476e7b9571f7",
3322833246
"T3T1_pt_test_basic.py::test_capabilities": "14256cd1b801d1b67a37de1198d61a80d342f39e5c5d6fa991ec7fb526d683be",
33247+
"T3T1_pt_test_basic.py::test_desync_v1": "b3552721cc7b6c669223a4390779692dee4efe10f548bc2c578befbe37690849",
3322933248
"T3T1_pt_test_basic.py::test_device_id_different": "ca1ce10d7c0da45019edf021e5984291a3c0b60487cb4011ac6319ec090077b1",
3323033249
"T3T1_pt_test_basic.py::test_device_id_same": "14256cd1b801d1b67a37de1198d61a80d342f39e5c5d6fa991ec7fb526d683be",
3323133250
"T3T1_pt_test_basic.py::test_not_initialized": "0931386d561e5a7edb7f28b4933de40d5474de7078ce741efdbd52da7cbb9128",

0 commit comments

Comments
 (0)