1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-23 15:08:19 +00:00
Commit Graph

112 Commits

Author SHA1 Message Date
Roman Zeyde
cb9a8919e5 test(core): don't fail next tests in case of a GC leak
Also, add more details to the assertion failure message.

[no changelog]
2025-06-19 08:29:18 +03:00
Roman Zeyde
6f28b96733 test(core): collect GC statistics via new debug RPC
[no changelog]
2025-06-10 12:16:12 +03:00
Roman Zeyde
23317d9390 test(legacy): add a missing t1_take_screenshots check in DebugLing`
[no changelog]
2025-06-05 19:20:27 +03:00
Roman Zeyde
1880630696 chore(core): fix deprecation warning for input_flow.throw(...)
https://docs.python.org/3.9/reference/expressions.html#generator.throw

Python 3.8 is no longer maintained: https://peps.python.org/pep-0569/

[no changelog]
2025-05-30 19:28:05 +03:00
Lukas Bielesch
459f851779 feat(eckhart): implement missing eckhart tests and flows 2025-05-30 17:38:16 +02:00
Lukas Bielesch
c66b435212 fix(eckhart): fix unstable click tests
- Differentiate input vectors for Eckhart due to different screen size
- paginate, where possible
2025-05-30 17:38:16 +02:00
Lukas Bielesch
3f1b5a9e28 chore(eckhart): minor improvements
- update trace function for firmware components
- add missing button requests
- update get address flow
- require long press to lock even with disabled animations
2025-05-30 17:38:16 +02:00
Lukas Bielesch
5fa68d15a3 chore(automation): enable T3W1 CI jobs and tests
- eckhart tests
- add Eckhart screen buttons
- rename passphrase click test file + fixtures
- eckhart click tests
- eckhart persistance tests
- eckhart device tests
- skip tests for unimplemented features
2025-05-30 17:38:16 +02:00
Roman Zeyde
7ebb00ff55 fix(core): handle DebugLink.input_wait_type when return_empty_state is set
Also, simplify `tests/upgrade_tests/recovery_old.py`.

[no changelog]
2025-05-16 11:57:55 +02:00
obrusvit
0f140466ed fix(tests): handle layout-specific translations
[no changelog]
2025-04-25 18:00:28 +02:00
Roman Zeyde
f43954e672 test(python): don't send extra InitDevice and EndSession during setup
[no changelog]
2025-03-18 17:45:34 +02:00
matejcik
2e72a8ce1b fix(python/debuglink): time out after waiting for empty-state response
...avoiding a problem where, if the timing is unfortunate, the reply may
get lost when a workflow is ending

(cherry picked from commit 3056b4934e)

[no changelog]
2025-03-17 20:16:14 +02:00
Lukas Bielesch
17603ffe41 refactor(python): move Screen Buttons to debuglink 2025-03-12 14:34:25 +01:00
Roman Zeyde
061e71213e test(core): don't fetch full DebugLinkState by default
In case the main workflow is restarting after a `DebugLinkDecision`,
sending the response of `DebugLinkGetState` may get interrupted.

We are making the state fetching explicit, in order to avoid the
"restart" race condition (as described in #4401).

Following the above change, text-based layout recording is removed.

[no changelog]
2025-02-07 11:21:44 +01:00
Roman Zeyde
7ee1259aaa refactor(core): use layout name for translation font keys
It would simplify `TranslationsDir.load_lang` method.

[no changelog]
2025-01-22 10:41:35 +02:00
obrusvit
00740b560c refactor(core): consistent naming of UI layouts
- follow-up on 862c987779
- layout_bolt stays the same
- layout_samson -> layout_caesar
- layout_quicksilver -> layout_delizia
- use super for importing rust modules in layout code

[no changelog]
2025-01-20 12:29:24 +01:00
matejcik
79cc7a9693 style(python): improve type hints for input flows 2025-01-17 11:28:12 +01:00
matejcik
6a5836708f refactor(python): replace usages of @expect 2025-01-17 11:28:12 +01:00
obrusvit
862c987779 refactor(core): consistent naming of UI layouts
- UI layouts name changes:
  - model_tt -> layout_bolt
  - model_tr -> layout_samson
  - model_mercury -> layout_quicksilver
- rust features `model_xyz` freed for different use, now it's
`layout_xyz`
- input_flow function names are based on UI layout and not internal
model name (i.e. quicksilver instead of t3t1)
- directory names and commentary changed accordingly

[no changelog]
2025-01-09 22:57:14 +01:00
matejcik
dd770ba715 fix(python): do not take legacy snapshots on PinRequest and PassphraseRequest
legacy < 1.11.0 will never answer those because PinRequest and
PassphraseRequest block waiting for PinAck / PassphraseAck over wirelink
and ignore debuglink
2024-11-12 16:55:17 +01:00
matejcik
dfac2ae4dd style(python): upgrade debuglink.py to 3.10 style type annotations 2024-11-12 16:55:17 +01:00
matejcik
3a8f92f64d tests(core): fix upgrade tests 2024-11-12 16:55:17 +01:00
matejcik
8d2f0a6566 style: make style_check passing 2024-11-12 16:55:17 +01:00
matejcik
ef90546324 fix(python): opportunistically catch a debuglink desync
In certain cases a DebugLinkState response can get stalled and debuglink
will not read it -- i.e., a situation analogous to wirelink de-sync.
There doesn't seem to be a good way to force-sync debuglink the same way
wirelink does it, but we can detect a wrong response to a
DebugLinkGetState and skip it.
2024-11-12 16:55:17 +01:00
matejcik
b48c36c2bf fix(python): improve robustness of TrezorClientDebugLink setup
* improve sync_responses to work on uninitialized instance
* sync responses at construction time
2024-11-12 16:55:17 +01:00
matejcik
d385667b4a fix(tests): restore test functionality on legacy
The global layout related changes were wrong for T1 where debuglink
behavior is significantly different; in particular, it is not always
possible to communicate over debuglink.

This change reverts to the old behavior for T1B1 and keeps the new one
only for core-based models.
2024-11-12 16:55:17 +01:00
matejcik
11ae7a92ab style: fix complaining lints & formatters 2024-11-12 16:55:17 +01:00
matejcik
0e8dcbb498 feat(core): unify RustLayout, implement single global layout 2024-11-12 16:55:17 +01:00
matejcik
6506b02e2e feat(python/debuglink): introduce layout type awareness
[no changelog]
2024-09-11 12:59:04 +02:00
matejcik
21988d6ef4 style(python): fix flake8 warning on python 3.12
[no changelog]
2024-08-29 10:56:21 +02:00
Andrew Kozlik
b6b1ad8825 feat(python): Implement DebugLinkOptigaSetSecMax. 2024-07-09 16:52:50 +02:00
matejcik
863435cc9d feat(python/debuglink): make input flows part of the traceback 2024-06-06 14:00:13 +02:00
Martin Milata
8c9f5ebbca tests(core): fix T3T1 default flow 2024-06-06 14:00:13 +02:00
obrusvit
5bd6996ae4 feat(core/ui): show success screens between shares
This commit also adds minor improvements to reset flow.

[no changelog]
2024-06-06 14:00:13 +02:00
Martin Milata
38b0361ded test(core/ui): fix bitcoin signtx for T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
b1c670090a feat(python): more compact debuglink logging
[no changelog]
2024-04-09 12:10:17 +00:00
Martin Milata
73a7223e7b test(core): add T3T1 support
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
5f016a896a chore: upgrade style checkers
black 24.2.0
flake8 7.0.0

some neat improvements for if-else statements there
2024-02-29 13:08:18 +01:00
obrusvit
e2b7244383 Rename trezorctl self-test to prodtest-t1.
It was confusing for trezorctl users. The new name clearly signals that
it's meant to work only for Model One.
2024-02-22 11:47:26 +01:00
matejcik
519e591d91 chore(python): deprecate language setting in apply_settings / reset / recover 2024-02-12 14:49:32 +01:00
Martin Milata
0c5836605f fix(tests): Safe 3 model name
[no changelog]
2023-10-12 11:31:57 +02:00
grdddj
65c9380ab7 feat(core): triggering delete action in ChoicePage after 1 second even without release
[no changelog]
2023-09-26 08:07:32 +02:00
matejcik
821d70dd8d style(python): implement isort 5 for trezorlib
[no changelog]
2023-08-16 13:29:51 +02:00
grdddj
c97c515718 chore(tests): increase the number of asserts of screen content in input flows
Done to make tests more readable and so that they fail at the right spot when something changes

[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
0a4b7eb06f fix(tests): fix unstable UI in test_busy_expiry testcase
Asserting the device comes back to Homescreen, so the UI result is always the same
(when it does not get there, the assert will fail and the test will rerun).

[no changelog]
2023-07-20 10:02:11 +02:00
grdddj
03f77c50e9 feat(core/rust): new design of wallet creation dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
672d6b7d13 feat(core): new design of PIN dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
Martin Milata
46f9e898ca fix(core/ui): padding when backing up mnemonic words
[no changelog]
2023-06-02 18:47:09 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
grdddj
bd6783b1a3 feat(all): increase stability of debug-decision events + parsing JSON from Rust 2023-05-11 21:02:21 +02:00