1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 21:48:13 +00:00
Commit Graph

574 Commits

Author SHA1 Message Date
matejcik
1b50877545 tests: streamline TrezorFailure exception usage 2020-03-26 11:30:06 +01:00
matejcik
b440ca1ec5 python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
matejcik
9a330f3475 python: unify protobuf-encoding code paths
Protobuf encoding now happens in TrezorClient, and transports get encoded blobs
to (chunkify and) send.  This is a better design because transports don't need
to know about protobuf.

It also lays groundwork for sending raw bytes feature (#116)

This commit also removes all vestiges of ProtocolV2 which was never used and
will probably need to be redesigned from the ground up anyway. The code is
still ready for protocol flexibility.
2020-03-26 11:30:06 +01:00
matejcik
9d29952a15 python: move out deprecated ckd_public 2020-03-26 11:30:06 +01:00
matejcik
325dae890e python: completely drop trezorlib.coins and trezorlib.tx_api 2020-03-26 11:30:06 +01:00
matejcik
5a526888cf python: move json_to_tx to btc.from_json, add test cases 2020-03-26 11:30:06 +01:00
matejcik
b3569a53e6 tests: update tx_cache usages 2020-03-26 11:30:06 +01:00
matejcik
5cd7c72353 tests: rework tx cache
The cache will no longer add new txes transparently.
To add a transaction, see: ./tests/tx_cache.py --help
2020-03-26 11:30:06 +01:00
Tomas Susanka
ae4f927a45 tests: test incorrect script type 2020-03-20 14:19:31 +00:00
matejcik
da89a17ce5 all: add checks for prev_hash size 2020-03-20 14:19:31 +00:00
Tomas Susanka
71a39bc0d7 legacy: check inputs' and outputs' script types 2020-03-20 14:19:30 +00:00
matejcik
ffdb299c61 all: drop Capricoin support [NO BACKPORT] 2020-03-20 14:19:30 +00:00
matejcik
adea7d6b35 all: make timestamp mandatory on timestamp-enabled coins 2020-03-20 14:19:07 +00:00
matejcik
ed464f3d47 all: ensure expiry, timestamp and extra_data are blocked as appropriate 2020-03-20 14:18:27 +00:00
matejcik
27803ee8c1 all: drop overwintered field from transaction 2020-03-20 14:18:27 +00:00
matejcik
303c05aba7 core/sign_tx: check if prev_tx has enough outputs to match prev_index 2020-03-20 14:17:44 +00:00
Tomas Susanka
1bf08cbb97 tests: add ui fixture for test_attack_change_input test 2020-03-20 14:17:44 +00:00
Andrew Kozlik
c98592050b tests: Fix multisig input replacement attack to check correct behavior during the signing phase. 2020-03-20 14:17:44 +00:00
Tomas Susanka
350a67d9a7 tests: test multisig input replacement attack 2020-03-20 14:17:44 +00:00
Ondřej Vejpustek
bbb44405ad tests/singing: mixed inputs in bitcoin gold 2020-03-20 14:17:44 +00:00
Tomas Susanka
8a0a38f948 tests/singing: mixed inputs 2020-03-20 14:17:44 +00:00
Tomas Susanka
f0a39df75d core/wallet: check inputs and outputs right after receiving them 2020-03-20 14:17:44 +00:00
Tomas Susanka
a513f7429b legacy: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Tomas Susanka
4af9aa547e core: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Tomas Susanka
2ae8e16dd3 tests: add ui fixture for the previous test 2020-03-20 14:17:44 +00:00
Andrew Kozlik
d800fcbf9f core/sign_tx: If there is a non-multisig input, then change output cannot be multisig.
(cherry picked from commit 8eb6ce0899)
2020-03-20 14:17:44 +00:00
matejcik
a978435819 tests: update SD card test 2020-03-20 14:03:28 +01:00
Andrew Kozlik
8ee0026637 core: Allow PIN entry even when SD protect is enabled and the card is not present. 2020-03-19 15:04:33 +01:00
Andrew Kozlik
b2dc5813fe legacy, tests: Check for invalid PIN. 2020-03-17 11:53:48 +01:00
Tomas Susanka
ad25096f90 tests: test reset device also with another strengths 2020-03-13 10:12:50 +00:00
matejcik
5b7d11e4ee tests: remove explicit timeouts from test suite 2020-03-09 10:31:17 +01:00
Tomas Susanka
89929c7a8c tests/ui: create report what differs from master 2020-03-04 13:41:32 +01:00
Tomas Susanka
f8de140271 core: add cancel to hold to confirm dialogs 2020-03-02 13:58:41 +00:00
Tomas Susanka
21676a0662 ore/tezos: better wording in delegation cancel 2020-03-02 08:49:34 +00:00
matejcik
7f91bc571c core: ensure default task restarts after a passphrase workflow (fixes #883) 2020-02-28 15:55:40 +01:00
Tomas Susanka
a8af9feebe core: fix text overflow in some dialogs 2020-02-27 12:43:33 +00:00
Tomas Susanka
744c32991f core: unify sign/verify functions
The UI records are modified because of two changes:
- Added a coin name to the Sign/Verify screen (ETH/Lisk).
- Unified to use mono.
2020-02-27 12:43:33 +00:00
matejcik
6722215c66 tests: update SD-protect test after randomization change 2020-02-24 15:38:28 +01:00
matejcik
61fa00731a tests: write UI report if tests fail 2020-02-24 15:38:02 +01:00
matejcik
d7b9582386 core/sdcard: add ensure_filesystem option (fixes #868)
It is possible to call `ensure_sdcard` in a way that requires only SD
card be inserted, but not necessarily formatted.

This is useful for SD-protect and possibly other use-cases where the SD
card is read-only, and "not formatted" is identical to "not containing
the right files".
2020-02-24 13:28:44 +01:00
matejcik
f9097b16e6 tests: make ui-check-missing more resilient for nonstandard exits 2020-02-24 13:28:44 +01:00
Tomas Susanka
703a13eb00 tests/ui: fix ui fixtures 2020-02-21 14:07:33 +00:00
matejcik
8fed67de08 tests: expand on multi-session tests 2020-02-21 14:40:42 +01:00
Tomas Susanka
6c47bf8230 core: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
Pavol Rusnak
562671401e
Merge pull request #860 from trezor/prusnak/multisig-show-yours-others
core: show yours/others in get_address for multisig
2020-02-20 13:49:13 +01:00
matejcik
d88540f2e0 tests: do not error out when fixtures fail to download 2020-02-20 12:51:48 +01:00
matejcik
42c4eb6341 tests: add SD format test fixtures 2020-02-20 12:51:48 +01:00
matejcik
5523c7bbef tests: add SD card format feature tests 2020-02-20 12:51:48 +01:00
matejcik
5bd8d9b5bb core/sdcard: make allocating new SD card for emulator fast 2020-02-20 12:51:48 +01:00
matejcik
d98bbebf5e tests: add UI test for multisig+xpub feature 2020-02-20 12:47:29 +01:00
Tomas Susanka
577daf09fe tests: introduce --ui-check-missing to test/remove missing tests 2020-02-18 09:33:21 +01:00
matejcik
0d3e1b2479 tests: better way to shut down test suite when connection to device is lost 2020-02-13 16:30:36 +01:00
matejcik
e61b7d28e9 all: do not send state in PassphraseAck (not needed for compatibility) 2020-02-13 15:44:50 +01:00
matejcik
e9003d0742 tests/upgrade_tests: extract and simplify for_all decorator 2020-02-13 15:37:14 +01:00
matejcik
b6fca537c9 tests: remove wipe_code_activate test fixture 2020-02-12 15:45:17 +01:00
matejcik
81a03edf61 python/debuglink: add docstrings, rename functions for clearer usage 2020-02-12 15:38:18 +01:00
matejcik
1bcf856946 tests: simplify change_wipe_code test with PIN queuing 2020-02-12 13:31:31 +01:00
matejcik
ba3d90b994 tests: add wipe code activation test 2020-02-12 13:31:31 +01:00
matejcik
94b85efba1 python/debuglink: make pin sequences configurable 2020-02-12 10:36:42 +01:00
Tomas Susanka
0a13f7a441 core: properly limit passphrase to 50 bytes 2020-02-11 15:39:08 +00:00
matejcik
64838bca2d tests: fix style 2020-02-10 15:44:13 +01:00
matejcik
41aa818c4c tests: shut down test suite if no device is available
this seems better than erroring out dozens of tests
2020-02-10 15:38:26 +01:00
matejcik
cfe0e34215 tests: ignore trezor.log 2020-02-10 12:36:53 +01:00
Tomas Susanka
15ed5cd19e
core: do not clear cache on ClearSession 2020-02-07 11:41:03 +00:00
Tomas Susanka
da4743c234
tests/ui: regenerate records
It seems counterintuitive that we need to regenerate ui fixtures because
of some work on passphrase.

The reason is that we have changed where the state (now session id) is
generated. We have moved it to Features, so it is generated already
after the Initialize message is received. It used to be generated later
- during the PassphraseReq/Ack workflow and in some tests we ask for
randomness between those steps.
2020-02-07 11:41:03 +00:00
Tomas Susanka
5717e647ed
tests/device: remove test_expected_responses 2020-02-07 11:41:03 +00:00
matejcik
49727740bc
tests: remove unnecessary passphrase_on_host 2020-02-07 11:41:03 +00:00
matejcik
9c75e27433
tests: unify Ping replacements
for raw calls: just messages.GetAddress()
for library calls: btc.get_address(client, "Testnet", [0])
2020-02-07 11:41:03 +00:00
matejcik
a8cfa8fbed
tests: simplify ClearSession test 2020-02-07 11:41:03 +00:00
matejcik
c9a6ada14f
tests: simplify and extend session_id test 2020-02-07 11:41:02 +00:00
matejcik
ee07b32f52
python: fix debuglink usage of get_passphrase 2020-02-07 11:41:02 +00:00
Tomas Susanka
b96d7cafbb
core: rework cache and fix cardano caching 2020-02-07 11:41:01 +00:00
Tomas Susanka
d5763d9cab
all: implement code review comments 2020-02-07 11:41:01 +00:00
Tomas Susanka
a3f3d4fcdb
remove ping.passphrase/pin 2020-02-07 11:41:00 +00:00
Tomas Susanka
b5d6aaf77c
tests: test PassphraseAck options 2020-02-07 11:41:00 +00:00
Tomas Susanka
041a95f738
legacy: new passphrase redesign draft 2020-02-07 11:40:59 +00:00
Tomas Susanka
569068044e
tests/ui: skip ui test in session tests 2020-02-07 11:40:59 +00:00
Tomas Susanka
be94824c49
tests: test for passphrase_always_on_device 2020-02-07 11:40:59 +00:00
Tomas Susanka
cd09f9ce94
all: modify passphrase source to always on device 2020-02-07 11:40:59 +00:00
Tomas Susanka
90d5cdfd5b
all: rework passphrase
The `on_device` field is being moved to PassphraseAck, State messages
are removed. Features newly contain `session_id`.
2020-02-07 11:40:58 +00:00
Tomas Susanka
4baa76dc67 tests/ui: replace many hash.txt files with one large one 2020-01-31 13:05:58 +00:00
Tomas Susanka
73e17987d2 Revert "tests: add 'timeout' to markers"
This reverts commit 5364d5e978.
2020-01-28 14:45:47 +00:00
Tomas Susanka
5364d5e978 tests: add 'timeout' to markers 2020-01-28 14:30:42 +00:00
matejcik
c612b8fd2d tests: increase timeout for 16-of-16-share test 2020-01-27 20:17:52 +01:00
matejcik
9279049008 tests: register the 'slow' marker 2020-01-27 20:06:18 +01:00
matejcik
066686a20c tests: raise timeouts for slow tests 2020-01-27 19:41:50 +01:00
matejcik
25910acdd1 tests: make use of new emulator code in emulator tests 2020-01-23 18:45:57 +01:00
matejcik
f707913f32 tests/ui: update fixtures to include missing confirms 2020-01-23 15:45:10 +01:00
Pavol Rusnak
9a884a5dc5
ci/tests: disable test_LongEcho in HIDTest, remove retry 2020-01-23 12:26:43 +00:00
matejcik
15bd35824b
python/cosi: improve API
cosi.verify was renamed to verify_combined, because it is pretty much
ed25519.verify, and the new name implies what it does in terms of the
CoSi scheme: verify a signature with already-combined public keys.

cosi.verify_m_of_n signature was simplified by not requiring the `n`
parameter, which is not important for verification. The updated function
was renamed to cosi.verify, because this is the standard CoSi
verification operation: given signature, digest, required number of
signatures, sigmask, and a list of public keys, verify that enough
signatures are indicated and that they sign the digest.
2020-01-20 17:32:58 +01:00
Tomas Susanka
783fa80d19 tests/ui: mkdir for new test 2020-01-15 12:55:37 +00:00
Tomas Susanka
c332876fc0 tests/ui: fix overall result message 2020-01-10 13:25:52 +00:00
Tomas Susanka
a1a56813fe tests/ui: use the generated reports to create index.html
instead of the pytest reports, because it was quite painful
2020-01-10 12:18:15 +00:00
Tomas Susanka
87d032a8dd tests/ui: regenerate fixtures due to the red square fix 2020-01-10 08:25:12 +00:00
Tomas Susanka
b846a44a8d tests/ui: relative path to report pages 2020-01-10 08:25:12 +00:00
Tomas Susanka
23b3a59a5d tests/ui: order tests in summary 2020-01-09 14:37:15 +00:00
Tomas Susanka
b99a6d5f6c tests/ui: refactor image reading 2020-01-09 14:32:11 +00:00
Tomas Susanka
346e1e3ebc tests/ui: remove unnecessary setup_client mark 2020-01-09 14:27:08 +00:00
Tomas Susanka
1103a14c48 tests/ui: move reports and add index.html 2020-01-09 14:25:45 +00:00
Tomas Susanka
c604b8f7fa tests/ui: rename test fixtures folders 2020-01-09 12:03:23 +00:00
Tomas Susanka
b6ec8d67ba tests/ui: use different test names 2020-01-09 12:03:23 +00:00
Tomas Susanka
96ec85686e tests/ui: success html file 2020-01-07 14:43:23 +00:00
Tomas Susanka
75c96f6b0a tests/ui: regenerate fixtures due to reseed before wipe 2020-01-07 12:38:12 +00:00
Tomas Susanka
b4df1172ca tests/ui: enable ui test for change_wipe_code
Because the previous commit fixed it 🎉.
2020-01-07 12:38:12 +00:00
Tomas Susanka
78bd43d3c4 tests/conftest: reseed before wipe 2020-01-07 12:38:12 +00:00
Tomas Susanka
0c820091a8 tests/ui: reseed each ui test before running it 2020-01-07 12:38:12 +00:00
Tomas Susanka
8796ca96b9 tests/ui: rename test-screen to ui 2020-01-07 09:13:08 +00:00
Tomas Susanka
56257eb6a5 tests/ui: code review fixes 2020-01-06 14:44:30 +00:00
Tomas Susanka
fe690a6b6b tests/ui: embed images as base64 to diff.html 2020-01-03 15:07:46 +00:00
Tomas Susanka
ce00fa667a tests/ui: download recorded fixtures from server 2020-01-03 15:07:46 +00:00
Tomas Susanka
edcd4f9ccc tests/ui: copy actual dir as recorded if the test passed
because it is the same thing then
2020-01-03 14:28:27 +00:00
Tomas Susanka
2eda139ac4 tests/ui: move files to ui_tests dir 2020-01-03 14:28:27 +00:00
Tomas Susanka
e709f76b14 tests: move fixtures to fixtures directory 2020-01-03 14:28:27 +00:00
Tomas Susanka
15069f3e25 tests/ui: introduce diff html 2020-01-03 14:28:27 +00:00
Tomas Susanka
2ceeacb5db tests/ui: rename also tested fixtures 2020-01-03 14:28:27 +00:00
Tomas Susanka
3a035a0ef8 tests: save screens directly to ui_tests; introduce recorded/actual dir 2020-01-03 14:28:27 +00:00
Tomas Susanka
51ef963738 tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
Tomas Susanka
a28f29708f ci: add junit for a nice tests overview 2020-01-03 12:44:12 +00:00
Pavol Rusnak
e5bdf0d51b
Merge pull request #742 from trezor/language
common: change language field to IETF BCP 47 language tag
2019-12-12 18:07:54 +01:00
Pavol Rusnak
7646b97dca
common: divisibility -> decimals 2019-12-09 17:43:47 +01:00
Pavol Rusnak
bb8d809a6d
common: change language field to IETF BCP 47 language tag 2019-12-08 11:27:10 +01:00
Tomas Susanka
1b88840f53 docs: move docs to root 2019-12-06 12:24:20 +00:00
Tomas Susanka
61430d800e core/stellar: add screen for timebounds 2019-12-05 14:31:28 +00:00
Pavol Rusnak
3d50bb5ed8
common: add Peercoin, regenerate coins 2019-12-05 09:43:32 +00:00
Andrew Kozlik
89a3ec1696 tests: Add device tests for wipe code protection. 2019-11-25 17:08:19 +01:00
matejcik
34913a328a all: disallow most RecoveryDevice fields in dry-run (fixes #666) 2019-11-20 12:27:57 +01:00
matejcik
bd9bf4e2bc python: rename webauthn and u2f to fido 2019-11-18 11:50:07 +01:00
matejcik
40a2c2ce93 tests: improve clicktests 2019-11-15 15:54:16 +01:00
matejcik
862e582ec1 tests: make {needs,no}_backup flags available in test suite 2019-11-13 16:48:35 +01:00
matejcik
fd8aed6105 all: drop XPRV feature of LoadDevice 2019-11-13 16:48:35 +01:00
Tomas Susanka
90edad55fc python and tests: typos 2019-11-13 13:28:07 +00:00
Tomas Susanka
b12ed82586 tests/device: add test for u2f counter set/get 2019-11-13 11:33:12 +00:00
Tomas Susanka
23c4b97e48 tests/upgrade: test u2f counter 2019-11-13 11:33:11 +00:00
Tomas Susanka
ecf6f12ac7 tests/device: fix eos delegate signing tests
The bug was fixed in #681 but tests were not modified appropriately.
2019-11-11 12:20:32 +01:00
Tomas Susanka
31a484bdc6 tests/persistence: extend recovery test to test a full recovery
including restarts
2019-11-11 11:06:29 +00:00
Pavol Rusnak
d5129b916d
tests/fido_tests: add simple device tests using libfido2 2019-11-09 10:26:03 +00:00
Tomas Susanka
2aab4e5955 tests/click: refactor reading lines to a function 2019-11-05 10:42:30 +00:00
ciny
905a405cb3 tests: click tests for basic and advanced slip39 2019-11-05 11:13:46 +01:00
Andrew Kozlik
6cc44b133c tests/webauthn: Account for the increased limit on the number of resident credentials. 2019-11-01 16:14:16 +01:00
Tomas Susanka
c6d6d6c1d7 tests: skip speed tests on T2 2019-11-01 13:59:12 +00:00
Tomas Susanka
04f0b74b29 tests: add upgrade test for recovery 2019-10-25 14:38:10 +00:00
Tomas Susanka
ab59b4731a tests/click: refactor recovery 2019-10-25 14:38:10 +00:00
Tomas Susanka
1e27a27cd3 tests: update README 2019-10-25 12:22:20 +00:00
Tomas Susanka
9251f73d89 tests: move persistence tests to its own folder 2019-10-25 12:04:14 +00:00
Tomas Susanka
c3d13f41a4 tests/click: fix test_recovery 2019-10-24 07:51:03 +00:00
Adrian Nagy
384275ac73
core/tezos: support the new protocol update (005-BABYLON) 2019-10-23 17:53:10 +02:00
matejcik
9b827baca0 tests: improve Shamir persistence test 2019-10-22 17:06:49 +02:00
matejcik
5488270bc3 core: improve emulator wrapper
* supply a gzipped image of an empty SD card so that we don't spend 5s at
  every run by formatting it
* add start, stop, restart methods for direct control
* add restart capability to device_handler (a little awkward for now)
2019-10-22 17:06:49 +02:00
matejcik
f22f4d920e tests: ensure Shamir persistence test runs only for core 2019-10-22 17:06:49 +02:00
matejcik
bc1696b947 tests: add scaffold for Shamir persistence testing 2019-10-22 17:06:49 +02:00