1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-26 16:38:12 +00:00

WIP - small fixes

This commit is contained in:
grdddj 2023-01-03 14:36:36 +01:00
parent d4dce3d67f
commit 1afafb8beb
4 changed files with 76 additions and 93 deletions

View File

@ -47,17 +47,6 @@ core unit asan test:
- nix-shell --run "poetry run make -C core clean build_unix | ts -s" - nix-shell --run "poetry run make -C core clean build_unix | ts -s"
- nix-shell --run "poetry run make -C core test_rust | ts -s" - nix-shell --run "poetry run make -C core test_rust | ts -s"
core unit t1 test:
stage: test
<<: *gitlab_caching
needs:
- core unix frozen btconly debug t1 build
variables:
BITCOIN_ONLY: "1"
TREZOR_MODEL: "1"
script:
- nix-shell --run "poetry run make -C core test_rust | ts -s"
# Device tests for Core. Running device tests and also comparing screens # Device tests for Core. Running device tests and also comparing screens
# with the expected UI result. # with the expected UI result.
# See artifacts for a comprehensive report of UI. # See artifacts for a comprehensive report of UI.

View File

@ -501,53 +501,53 @@ impl ButtonLayout {
} }
/// Special middle text for default icon layout. /// Special middle text for default icon layout.
pub fn arrow_armed_icon(middle_text: StrBuffer) -> Self { pub fn arrow_armed_icon(text: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::left_arrow_icon()), Some(ButtonDetails::left_arrow_icon()),
Some(ButtonDetails::armed_text(middle_text)), Some(ButtonDetails::armed_text(text)),
Some(ButtonDetails::right_arrow_icon()), Some(ButtonDetails::right_arrow_icon()),
) )
} }
/// Left cancel, armed text and next right arrow. /// Left cancel, armed text and next right arrow.
pub fn cancel_armed_arrow(middle_text: StrBuffer) -> Self { pub fn cancel_armed_arrow(text: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::cancel_icon()), Some(ButtonDetails::cancel_icon()),
Some(ButtonDetails::armed_text(middle_text)), Some(ButtonDetails::armed_text(text)),
Some(ButtonDetails::right_arrow_icon()), Some(ButtonDetails::right_arrow_icon()),
) )
} }
/// Left cancel, armed text and right text. /// Left cancel, armed text and right text.
pub fn cancel_armed_text(middle_text: StrBuffer, right_text: StrBuffer) -> Self { pub fn cancel_armed_text(middle: StrBuffer, right: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::cancel_icon()), Some(ButtonDetails::cancel_icon()),
Some(ButtonDetails::armed_text(middle_text)), Some(ButtonDetails::armed_text(middle)),
Some(ButtonDetails::text(right_text)), Some(ButtonDetails::text(right)),
) )
} }
/// Left back arrow and middle armed text. /// Left back arrow and middle armed text.
pub fn arrow_armed_none(middle_text: StrBuffer) -> Self { pub fn arrow_armed_none(text: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::left_arrow_icon()), Some(ButtonDetails::left_arrow_icon()),
Some(ButtonDetails::armed_text(middle_text)), Some(ButtonDetails::armed_text(text)),
None, None,
) )
} }
/// Left and right texts. /// Left and right texts.
pub fn text_none_text(text_left: StrBuffer, text_right: StrBuffer) -> Self { pub fn text_none_text(left: StrBuffer, right: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::text(text_left)), Some(ButtonDetails::text(left)),
None, None,
Some(ButtonDetails::text(text_right)), Some(ButtonDetails::text(right)),
) )
} }
/// Only right text. /// Only right text.
pub fn none_none_text(text_right: StrBuffer) -> Self { pub fn none_none_text(text: StrBuffer) -> Self {
Self::new(None, None, Some(ButtonDetails::text(text_right))) Self::new(None, None, Some(ButtonDetails::text(text)))
} }
/// Left and right arrow icons for navigation. /// Left and right arrow icons for navigation.
@ -560,20 +560,20 @@ impl ButtonLayout {
} }
/// Left arrow and right text. /// Left arrow and right text.
pub fn arrow_none_text(text_right: StrBuffer) -> Self { pub fn arrow_none_text(text: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::left_arrow_icon()), Some(ButtonDetails::left_arrow_icon()),
None, None,
Some(ButtonDetails::text(text_right)), Some(ButtonDetails::text(text)),
) )
} }
/// Up arrow left and right text. /// Up arrow left and right text.
pub fn up_arrow_none_text(text_right: StrBuffer) -> Self { pub fn up_arrow_none_text(text: StrBuffer) -> Self {
Self::new( Self::new(
Some(ButtonDetails::up_arrow_icon()), Some(ButtonDetails::up_arrow_icon()),
None, None,
Some(ButtonDetails::text(text_right)), Some(ButtonDetails::text(text)),
) )
} }

View File

@ -580,7 +580,7 @@ extern "C" fn tutorial(n_args: usize, args: *const Obj, kwargs: *mut Map) -> Obj
tutorial_screen( tutorial_screen(
"SCREEN SCROLL".into(), "SCREEN SCROLL".into(),
"Press right to scroll down to read all content when text\ndoesn't fit on one screen. Press left to scroll up.".into(), "Press right to scroll down to read all content when text\ndoesn't fit on one screen. Press left to scroll up.".into(),
ButtonLayout::arrow_none_text("GOT IT".into()), ButtonLayout::arrow_none_text("CONTINUE".into()),
ButtonActions::prev_none_next(), ButtonActions::prev_none_next(),
) )
}, },

View File

@ -54,7 +54,7 @@ or contain `[no changelog]` in the commit message.
## BUILD stage - [build.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml) ## BUILD stage - [build.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml)
All builds are published as artifacts so they can be downloaded and used. All builds are published as artifacts so they can be downloaded and used.
Consists of **32 jobs** below: Consists of **30 jobs** below:
### [core fw regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L20) ### [core fw regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L20)
Build of Core into firmware. Regular version. Build of Core into firmware. Regular version.
@ -74,83 +74,79 @@ Build of Core into firmware. Bitcoin-only version.
### [core fw btconly production build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L117) ### [core fw btconly production build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L117)
### [core fw btconly t1 build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L136) ### [core fw R btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L136)
### [core fw R btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L152) ### [core fw R btconly build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L153)
### [core fw R btconly build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L169) ### [core unix regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L171)
### [core unix regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L187)
Non-frozen emulator build. This means you still need Python files Non-frozen emulator build. This means you still need Python files
present which get interpreted. present which get interpreted.
### [core unix regular asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L199) ### [core unix regular asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L183)
### [core unix frozen regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L218) ### [core unix frozen regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L202)
Build of Core into UNIX emulator. Something you can run on your laptop. Build of Core into UNIX emulator. Something you can run on your laptop.
Frozen version. That means you do not need any other files to run it, Frozen version. That means you do not need any other files to run it,
it is just a single binary file that you can execute directly. it is just a single binary file that you can execute directly.
### [core unix frozen btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L235) ### [core unix frozen btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L219)
Build of Core into UNIX emulator. Something you can run on your laptop. Build of Core into UNIX emulator. Something you can run on your laptop.
Frozen version. That means you do not need any other files to run it, Frozen version. That means you do not need any other files to run it,
it is just a single binary file that you can execute directly. it is just a single binary file that you can execute directly.
See [Emulator](../core/emulator/index.md) for more info. See [Emulator](../core/emulator/index.md) for more info.
Debug mode enabled, Bitcoin-only version. Debug mode enabled, Bitcoin-only version.
### [core unix frozen btconly debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L251) ### [core unix frozen btconly debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L235)
### [core unix frozen debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L274) ### [core unix frozen debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L258)
Build of Core into UNIX emulator. Something you can run on your laptop. Build of Core into UNIX emulator. Something you can run on your laptop.
Frozen version. That means you do not need any other files to run it, Frozen version. That means you do not need any other files to run it,
it is just a single binary file that you can execute directly. it is just a single binary file that you can execute directly.
**Are you looking for a Trezor T emulator? This is most likely it.** **Are you looking for a Trezor T emulator? This is most likely it.**
### [core unix frozen R debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L287) ### [core unix frozen R debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L271)
### [core unix frozen R debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L301) ### [core unix frozen R debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L285)
### [core unix R debugger build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L320) ### [core unix R debugger build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L304)
Debugger build for gdb/lldb. Debugger build for gdb/lldb.
### [core unix frozen debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L335) ### [core unix frozen debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L319)
### [core unix frozen debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L351) ### [core unix frozen debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L335)
### [core unix frozen btconly debug t1 build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L373) ### [core macos frozen regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L357)
### [core macos frozen regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L389) ### [crypto build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L382)
### [crypto build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L414)
Build of our cryptographic library, which is then incorporated into the other builds. Build of our cryptographic library, which is then incorporated into the other builds.
### [legacy fw regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L443) ### [legacy fw regular build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L411)
### [legacy fw regular debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L459) ### [legacy fw regular debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L427)
### [legacy fw btconly build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L476) ### [legacy fw btconly build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L444)
### [legacy fw btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L495) ### [legacy fw btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L463)
### [legacy emu regular debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L516) ### [legacy emu regular debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L484)
Regular version (not only Bitcoin) of above. Regular version (not only Bitcoin) of above.
**Are you looking for a Trezor One emulator? This is most likely it.** **Are you looking for a Trezor One emulator? This is most likely it.**
### [legacy emu regular debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L531) ### [legacy emu regular debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L499)
### [legacy emu regular debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L549) ### [legacy emu regular debug build arm](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L517)
### [legacy emu btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L575) ### [legacy emu btconly debug build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L543)
Build of Legacy into UNIX emulator. Use keyboard arrows to emulate button presses. Build of Legacy into UNIX emulator. Use keyboard arrows to emulate button presses.
Bitcoin-only version. Bitcoin-only version.
### [legacy emu btconly debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L592) ### [legacy emu btconly debug asan build](https://github.com/trezor/trezor-firmware/blob/master/ci/build.yml#L560)
--- ---
## TEST stage - [test.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml) ## TEST stage - [test.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml)
All the tests run test cases on the freshly built emulators from the previous `BUILD` stage. All the tests run test cases on the freshly built emulators from the previous `BUILD` stage.
Consists of **35 jobs** below: Consists of **34 jobs** below:
### [core unit python test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L15) ### [core unit python test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L15)
Python unit tests, checking core functionality. Python unit tests, checking core functionality.
@ -160,82 +156,80 @@ Rust unit tests.
### [core unit asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L33) ### [core unit asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L33)
### [core unit t1 test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L50) ### [core device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L54)
### [core device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L65)
Device tests for Core. Running device tests and also comparing screens Device tests for Core. Running device tests and also comparing screens
with the expected UI result. with the expected UI result.
See artifacts for a comprehensive report of UI. See artifacts for a comprehensive report of UI.
See [docs/tests/ui-tests](../tests/ui-tests.md) for more info. See [docs/tests/ui-tests](../tests/ui-tests.md) for more info.
### [core device R test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L94) ### [core device R test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L83)
### [core device asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L126) ### [core device asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L115)
### [core btconly device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L145) ### [core btconly device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L134)
Device tests excluding altcoins, only for BTC. Device tests excluding altcoins, only for BTC.
### [core btconly device asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L165) ### [core btconly device asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L154)
### [core monero test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L186) ### [core monero test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L175)
Monero tests. Monero tests.
### [core monero asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L205) ### [core monero asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L194)
### [core u2f test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L227) ### [core u2f test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L216)
Tests for U2F and HID. Tests for U2F and HID.
### [core u2f asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L246) ### [core u2f asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L235)
### [core fido2 test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L264) ### [core fido2 test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L253)
FIDO2 device tests. FIDO2 device tests.
### [core fido2 asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L287) ### [core fido2 asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L276)
### [core click test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L307) ### [core click test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L296)
Click tests. Click tests.
See [docs/tests/click-tests](../tests/click-tests.md) for more info. See [docs/tests/click-tests](../tests/click-tests.md) for more info.
### [core click asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L324) ### [core click asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L313)
### [core upgrade test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L345) ### [core upgrade test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L334)
Upgrade tests. Upgrade tests.
See [docs/tests/upgrade-tests](../tests/upgrade-tests.md) for more info. See [docs/tests/upgrade-tests](../tests/upgrade-tests.md) for more info.
### [core upgrade asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L364) ### [core upgrade asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L353)
### [core persistence test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L386) ### [core persistence test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L375)
Persistence tests. Persistence tests.
### [core persistence asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L402) ### [core persistence asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L391)
### [core hwi test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L420) ### [core hwi test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L409)
### [crypto test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L438) ### [crypto test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L427)
### [legacy device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L469) ### [legacy device test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L458)
### [legacy asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L496) ### [legacy asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L485)
### [legacy btconly test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L508) ### [legacy btconly test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L497)
### [legacy btconly asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L528) ### [legacy btconly asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L517)
### [legacy upgrade test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L543) ### [legacy upgrade test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L532)
### [legacy upgrade asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L562) ### [legacy upgrade asan test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L551)
### [legacy hwi test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L583) ### [legacy hwi test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L572)
### [python test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L602) ### [python test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L591)
### [python support test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L621) ### [python support test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L610)
### [storage test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L631) ### [storage test](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L620)
### [core unix memory profiler](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L655) ### [core unix memory profiler](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L644)
### [connect test core](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L679) ### [connect test core](https://github.com/trezor/trezor-firmware/blob/master/ci/test.yml#L668)
--- ---
## TEST-HW stage - [test-hw.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/test-hw.yml) ## TEST-HW stage - [test-hw.yml](https://github.com/trezor/trezor-firmware/blob/master/ci/test-hw.yml)