1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-20 05:18:08 +00:00
Commit Graph

1331 Commits

Author SHA1 Message Date
matejcik
279da34864 Merge branch 'matejcik/refactor' 2018-05-28 17:52:01 +02:00
matejcik
5191fd09be device_tests: add a compat test for cosi, checking interoperability between Trezor and local implementation 2018-05-28 17:41:52 +02:00
Pavol Rusnak
2ab4751dcb
device_tests: update test_bip32_speed cache-speed ratio to 1.2x 2018-05-28 16:58:42 +02:00
matejcik
8410151810 remove remaining usages of expand_path 2018-05-28 15:47:57 +02:00
matejcik
c10c3f7fd9 stellar: better way to handle default path
(maybe do this for other currencies too?)
2018-05-28 15:47:40 +02:00
matejcik
aace6577c8 log: remove special handling of Features/CoinType in prettyprinter
now that Trezor won't send CoinTypes anymore
2018-05-28 15:01:17 +02:00
matejcik
99bc267301 client: hide uninteresting functions from test tracebacks 2018-05-28 14:45:54 +02:00
matejcik
2bf34dc4b4 unit_tests: added test suite for Ed25519 and CoSi
It's rather slow so it's disabled by default.
Use `pytest -m slow_cosi` to run.
2018-05-28 14:20:45 +02:00
matejcik
a0f73b726d cosi: typehints, documentation, removed selftest 2018-05-28 14:20:26 +02:00
matejcik
0e8fe9e743 ed25519: type hints 2018-05-28 14:17:11 +02:00
matejcik
ee21733f20 build: enforce building no-core versions of protobuf messages
This helps when you try to build python-trezor from a subdirectory
of trezor-core, for whatever reason.
(For instance, when you run 'pipenv install' in trezor-core, and also
happen to have protobuf build tools available in the outside environment)
2018-05-28 12:55:58 +02:00
Pavol Rusnak
648ef511b6
device_tests: use original ethereum message digest, enable ethereum_{sign,verify}message for T2 2018-05-25 14:23:16 +02:00
matejcik
2fdb5cd538 cosi: publish "pubkey from privkey" operation from ed25519 2018-05-25 13:12:42 +02:00
matejcik
886e269e2f trezorlib: mark ed25519 impl as private 2018-05-25 13:07:02 +02:00
Tomas Susanka
f273bbb736 tests/device/stellar: assert pubkey, address comment 2018-05-25 12:01:07 +02:00
matejcik
9982ef98f9 Merge branch 'master' into matejcik/refactor 2018-05-24 19:18:26 +02:00
matejcik
e779a251fb transport: better ways to handle errors when enumerating devices 2018-05-24 19:14:05 +02:00
matejcik
97fa4670ac transport: add message logging to bridge 2018-05-24 18:08:50 +02:00
Pavol Rusnak
e2962ef9f7
fix typo 2018-05-24 17:07:17 +02:00
Pavol Rusnak
bb5e49e452
device_tests: fix failed test 2018-05-24 17:02:11 +02:00
Pavol Rusnak
b67322be2f
device_tests: enable cashaddr tests (msg_getaddress, signtx_bcash) for T2 2018-05-24 16:40:27 +02:00
matejcik
35b9ab898d travis: also trigger trezor-mcu when running tests
because now it should be ALL GREEN
2018-05-23 17:08:32 +02:00
matejcik
17b37034e8 device_tests: fix test_msg_recoverydevice for T1 2018-05-23 17:08:16 +02:00
matejcik
f8f0be9c86 device_tests: fix T1 test differences in wording 2018-05-23 16:54:24 +02:00
matejcik
7e83eb11e5 trezorctl: drop remaining stellar_sign_message command 2018-05-23 14:27:10 +02:00
matejcik
f2aee59e27 device_tests: do not xfail Lisk tests, they are now merged 2018-05-23 14:21:24 +02:00
matejcik
4b7926268e drop Lisk and Stellar sign/verify message functionality 2018-05-23 14:20:54 +02:00
matejcik
70172520fb protobuf: update messages from upstream.
This drops sign/verify messages for Lisk and Stellar so we have to
remove the corresponding methods.
2018-05-23 14:04:09 +02:00
Jan Pochyla
bc27089546 tests: remove lisk sign/verify 2018-05-23 13:16:14 +02:00
matejcik
ce7ee8ae30 device_tests: mark decred 2018-05-22 20:12:51 +02:00
matejcik
2225343c52 device_tests: in test_multisig, T1 raises a different message
expected: "Pubkey not found in multisig script"
actual: "signing.c:780:Pubkey not found in multisig script"
2018-05-22 20:12:51 +02:00
matejcik
013e0f6d66 device_tests: get nicer tracebacks by using pytest.raises instead of custom exception code 2018-05-22 20:12:51 +02:00
matejcik
224e3c18f5 device_tests: fix test_protection_levels for T1
a couple expected ButtonRequests were missing
2018-05-22 20:12:45 +02:00
matejcik
a4fe17b461 device_tests: xfail for decred. This should be investigated more though. 2018-05-22 17:51:41 +02:00
matejcik
465c01d4f7 device_tests: add more currency markers
missed Stellar tests, plus Ethereum, for good measure
2018-05-22 17:29:03 +02:00
matejcik
af98a4071a device_tests: allow custom runxfail
We can now selectively runxfail certain tests. This is useful for
accepting PRs into trezor-core:

1. trezor-core is going to get a pytest.ini that sets xfail_strict.
   That means that if an `xfail`ed test actually passes, that will
   break the test suite. So it will be visible when we implement
   a feature for which tests exist.
2. To allow PRs to pass the test suite without touching python-trezor
   directly, we add a new pytest.ini option: run_xfail.
   This adds a list of markers which will ignore `xfail`.
   So:
   2.1 First, the python-trezor PR marks the tests with the name
       of the feature. This commit already does that: Lisk tests
       are marked `@pytest.mark.lisk`, NEMs are `@pytest.mark.nem`,
       etc.
       The tests will be also marked with `xfail`, because the
       feature is not in core yet.
   2.2 Then, the trezor-core PR implements the feature, which makes
       the `xfail`ed tests pass. That breaks the test suite.
   2.3 To fix the test suite, the core PR also adds a `run_xfail`
       to `pytest.ini`: `run_xfail = lisk`.
       (it can take a list: `run_xfail = lisk nem stellar`)
       That will make the test suite behave as if the tests are not
       `xfail`ed. If the feature is implemented correctly, the tests
       will pass.
   2.4 When the PR is accepted to core, the next step should be
       a PR to python-trezor that removes the `xfail`s. After that,
       we should also remove the `run_xfail` option, just to be tidy.
2018-05-22 17:29:03 +02:00
matejcik
9f4cc74b9a travis: set virtualenv version to restore build on py33 2018-05-18 10:58:28 +02:00
matejcik
1df0cd7094 travis: use newer pip that understands python_requires
(should fix build on Python 3.3 because of too-new tox)
2018-05-17 17:23:25 +02:00
Tomas Susanka
e656bbf072 stellar: xdr parse move to trezorctl; client works with messages 2018-05-17 17:17:09 +02:00
matejcik
db92b13f97 cosi: move things around
ed25519raw is moved back to trezorlib
ed25519cosi is renamed to cosi, and has a couple more functions,
with the expectation that TrezorClient.cosi_* methods will move there.

Also most code shouldn't need ed25519raw for anything, so it might get
renamed to "_ed25519" to indicate that it's a private implementation.

For now, I added a "verify" method to cosi, so that you don't need to
call into ed25519raw.checkvalid. But trezor-core's keyctl is also
using ed25519raw.publickey. I'm not sure if that's worth replicating
in cosi, or whether to just leave it be, so I'm leaving it be for now.

Importantly, new function "sign_with_privkey" does that math thing that
was part of the selftest and is also explicitly listed in keyctl.
(it's called sign_with_privkey because I expect to have a "sign" method
here that calls into Trezor)
2018-05-17 12:53:01 +02:00
Tomas Susanka
277296be90 tests/stellar: verify marked as not passing on T2 2018-05-16 15:04:00 +02:00
Tomas Susanka
3ee3083e8c tests/device/stellar: verify message 2018-05-14 16:53:10 +02:00
Tomas Susanka
bb74950e23 stellar: message is normalized before sign/verify 2018-05-14 15:33:57 +02:00
Tomas Susanka
22560128fe stellar: StellarSignMessage.message is bytes 2018-05-14 15:17:13 +02:00
Tomas Susanka
f97815f69a vendor: trezor-common updated 2018-05-14 15:16:26 +02:00
Tomas Susanka
d57fe33582 tests/device/stellar: sign message 2018-05-14 14:09:39 +02:00
matejcik
f9c20f8d2f travis: do not trigger trezor-core if not master 2018-05-11 16:01:11 +02:00
matejcik
cc7c8ccb59 client: clean up exception and decorator code 2018-05-11 15:34:49 +02:00
matejcik
a478dac5f7 client: clean up logging and printing 2018-05-11 15:34:23 +02:00
matejcik
a2b70562bc flake8: be stricter 2018-05-11 15:29:38 +02:00