1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-27 00:28:10 +00:00
trezor-firmware/core/tests
Dusan Klinec eacd15383b chore: update trezor_tests binary
- tests revamp, always use passphrase flow with transaction signing, more passphrase-related tests, pin test, invalid passphrase test. Chain generation optimized
2023-03-13 16:09:52 +01:00
..
production_tests style(all): use f-strings for formatting 2021-10-13 11:53:17 +02:00
common.py refactor(core): convert apps.common to layouts 2021-08-04 15:03:11 +02:00
mock_storage.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
mock.py core: draft unit test for process_slip39 2019-10-03 16:01:01 +02:00
README.md chore(core): update Bitcoin testcases to use valid prevtxes 2022-02-28 15:45:29 +01:00
run_tests_click_emu.sh core: rename emulator to trezor-emu-core 2020-07-30 15:27:34 +02:00
run_tests_device_emu_monero.sh chore: update trezor_tests binary 2023-03-13 16:09:52 +01:00
run_tests.sh chore(core/tests): bump heap size for core unit tests 2021-05-06 13:14:21 +02:00
slip39_vectors.py core/slip39: Update code logic, tests and test vectors in accordance with the new requirement that the number of shares provided is equal to the threshold. 2019-05-03 18:28:14 +02:00
test_apps.binance.address.py chore(core/tests): update unit tests for new APIs, drop unnecessary ones 2020-11-05 14:30:11 +01:00
test_apps.binance.sign_tx.py chore(core): decrease binance size by 460 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.address_grs.py core/bitcoin: finalize bitcoin refactor 2020-05-18 14:31:51 +02:00
test_apps.bitcoin.address.py chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.approver.py feat(core): Validate script type of change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
test_apps.bitcoin.authorization.py chore(core): Rework checking of CoinJoin parameters. 2022-03-17 15:46:01 +01:00
test_apps.bitcoin.keychain.py chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.ownership_proof.py fix(tests): Fix ownership proof unit test to match test vector 2 from SLIP-19. 2023-02-15 10:37:49 +01:00
test_apps.bitcoin.segwit.bip143.native_p2wpkh.py chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.segwit.bip143.p2wpkh_in_p2sh.py chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.segwit.bip341.p2tr.py chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh_grs.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.sign_tx.writers.py fix(core): Stricter Bitcoin transaction checks. 2022-05-03 22:14:40 +02:00
test_apps.bitcoin.signtx_decred.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.signtx_grs.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.signtx.fee_threshold.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.signtx.omni.py feat(core/strings): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
test_apps.bitcoin.signtx.py feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
test_apps.bitcoin.txweight.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2022-08-02 14:30:38 +02:00
test_apps.bitcoin.zcash.zip243.py feat!(core): support Zcash v5 transaction format 2022-05-02 16:07:31 +02:00
test_apps.cardano.address.py feat(cardano): add preprod and preview testnets 2022-10-31 16:08:39 +01:00
test_apps.cardano.bech32.py chore(core): decrease cardano size by 2290 bytes 2022-11-10 14:08:28 +01:00
test_apps.cardano.certificate.py refactor(cardano): use module imports for addresses, certs, aux data 2022-07-04 15:58:27 +02:00
test_apps.cardano.credential.py feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
test_apps.cardano.get_public_key.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 2021-11-10 13:57:57 +01:00
test_apps.cardano.native_script.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 2021-11-10 13:57:57 +01:00
test_apps.cardano.seed.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 2021-11-10 13:57:57 +01:00
test_apps.cardano.sign_tx.py feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
test_apps.cardano.staking_use_cases.py feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
test_apps.cardano.utils.py feat(core/cardano): Implement bech32 asset ids based on CIP-0014 2021-03-18 09:53:33 +01:00
test_apps.common.cbor.py chore(core): decrease common size by 5200 bytes 2022-11-10 14:08:28 +01:00
test_apps.common.coins.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.common.keychain.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.common.paths.py chore(core): delete unused functions 2022-11-10 14:08:28 +01:00
test_apps.common.seed.py core/tests: add unit tests for new functionality 2020-07-24 16:37:58 +02:00
test_apps.common.writers.py chore(core): decrease common size by 5200 bytes 2022-11-10 14:08:28 +01:00
test_apps.eos.check_action.py chore(core): decrease eos size by 1kb 2022-11-10 14:08:28 +01:00
test_apps.eos.conversions.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.eos.get_public_key.py chore(core): decrease eos size by 1kb 2022-11-10 14:08:28 +01:00
test_apps.ethereum.helpers.py refactor(core/ethereum): rename address.py to helpers.py 2021-11-02 14:27:01 +01:00
test_apps.ethereum.keychain.py feat(core/ethereum, legacy/ethereum): add support to Ledger Live legacy derivation path 2022-11-30 14:23:47 +01:00
test_apps.ethereum.layout.py feat(core/strings): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
test_apps.ethereum.sign_typed_data.py feat(core/ethereum): remove EIP-712 field size limitation of 1024 bytes 2023-01-13 16:39:43 +01:00
test_apps.ethereum.tokens.py feat(core/ethereum): use TokenInfo object instead of tuples 2021-09-10 15:09:03 +02:00
test_apps.management.recovery_device.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.monero.bulletproof.py refactor(xmr): remove old BP code 2022-10-25 21:36:03 +02:00
test_apps.monero.clsag.py refactor(core/monero): Monero code cleanup 2022-05-16 12:37:24 +02:00
test_apps.monero.crypto.py fix(xmr): fix tx sending to an integrated address 2022-09-30 13:47:06 +02:00
test_apps.monero.proto.py refactor(core/monero): Monero code cleanup 2022-05-16 12:37:24 +02:00
test_apps.monero.serializer.py chore(xmr): delete unused code 2022-10-25 21:36:03 +02:00
test_apps.nem.address.py refactor(core): convert apps.common to layouts 2021-08-04 15:03:11 +02:00
test_apps.nem.hdnode.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.mosaic_creation.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2022-11-10 14:08:28 +01:00
test_apps.nem.mosaic_supply_change.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2022-11-10 14:08:28 +01:00
test_apps.nem.mosaic.py chore(core): decrease nem size by 1550 bytes 2022-11-10 14:08:28 +01:00
test_apps.nem.multisig.aggregate_modification.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_apps.nem.multisig.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2022-11-10 14:08:28 +01:00
test_apps.nem.namespace.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2022-11-10 14:08:28 +01:00
test_apps.nem.transfer.py chore(core): decrease nem size by 1550 bytes 2022-11-10 14:08:28 +01:00
test_apps.ripple.address.py chore(core/tests): update unit tests for new APIs, drop unnecessary ones 2020-11-05 14:30:11 +01:00
test_apps.ripple.serializer.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2022-11-10 14:08:28 +01:00
test_apps.stellar.address.py chore(core/tests): update unit tests for new APIs, drop unnecessary ones 2020-11-05 14:30:11 +01:00
test_apps.tezos.address.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.tezos.encode.py chore(core): decrease tezos size by 860 bytes 2022-11-10 14:08:28 +01:00
test_apps.webauthn.credential.py chore(core): decrease webauthn size by 1270 bytes 2022-11-10 14:08:28 +01:00
test_apps.zcash.f4jumble.py feat(core): add support for Zcash unified addresses 2022-08-30 21:15:49 +02:00
test_apps.zcash.unified_addresses.py feat(core): add support for Zcash unified addresses 2022-08-30 21:15:49 +02:00
test_apps.zcash.zip244.py chore(core): decrease zcash size by 300 bytes 2022-11-10 14:08:28 +01:00
test_storage.cache.py chore(core): delete unused code in src 2023-01-25 19:17:56 +01:00
test_storage.py fix(core): Improve error handling and range checking in modtrezorconfig. 2021-03-26 10:54:56 +01:00
test_trezor.config.py test(core): Add unit test for modtrezorconfig counter. 2021-03-26 10:54:56 +01:00
test_trezor.crypto.aes.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.base32.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.base58.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.bech32.py chore(core): Use C implementation of Bech32 decode. 2022-10-17 15:20:46 +02:00
test_trezor.crypto.bip32.py core/crypto: remove unused bip32.deserialize function 2020-04-06 18:04:24 +02:00
test_trezor.crypto.bip39.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.cashaddr.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.chacha20poly1305.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.crc.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.bip340.py test(core): add unit tests for bip340 2021-11-26 20:16:59 +01:00
test_trezor.crypto.curve.curve25519.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.ed25519_cosi.py fix(crypto): Fix nonce bias in CoSi signing. 2022-08-02 20:38:04 +02:00
test_trezor.crypto.curve.ed25519.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.nist256p1.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.secp256k1.py test(core): fix secp256k1 unit tests 2021-11-26 20:16:59 +01:00
test_trezor.crypto.der.py core/crypto: Add functions for verifying DER encoded signatures. 2020-07-03 11:17:19 +02:00
test_trezor.crypto.hashlib.blake2b.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.blake2s.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.blake256.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.groestl512.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.ripemd160.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.sha1.py docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
test_trezor.crypto.hashlib.sha3_256.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.sha3_512.py docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
test_trezor.crypto.hashlib.sha256.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.sha512.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hmac.py perf(core/extmod): replace HMAC Python implementation with C 2020-10-12 16:33:13 +02:00
test_trezor.crypto.pbkdf2.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.random.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.rlp.py refactor(core/ethereum): improve API of the rlp module 2021-07-19 13:59:28 +02:00
test_trezor.crypto.slip39.py chore(core): decrease crypto size by 60 bytes 2022-11-10 14:08:28 +01:00
test_trezor.io.fatfs.py style(all): use f-strings for formatting 2021-10-13 11:53:17 +02:00
test_trezor.io.sdcard.py core: fix unit tests 2020-02-20 12:51:48 +01:00
test_trezor.protobuf.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_trezor.sdcard.py refactor(core): disable SD, SBU, fatfs for T1 build 2021-08-20 12:22:13 +02:00
test_trezor.strings.py feat(core/strings): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
test_trezor.ui.display.py refactor(core): switch to Rust implementation of QR-Code-generator 2023-03-09 23:36:36 +01:00
test_trezor.utils.py feat(core): Implement GetFirmwareHash message. 2022-05-03 19:00:04 +02:00
test_trezor.wire.codec_v1.py refactor(core): Switch to new Protobuf API 2021-06-08 09:55:19 +02:00
test_unittest.py core/tests: test debug is on 2019-12-23 12:01:00 +00:00
unittest.py style(all): use f-strings for formatting 2021-10-13 11:53:17 +02:00

Unit tests

Unit tests test some smaller individual parts of code (mainly functions and classes) and are run by micropython directly.

How to run them

Run all tests:

make test

Run a specific test file:

make test TESTOPTS=test_apps.bitcoin.signtx.py

WARNING: unittests cannot run with frozen emulator, use make build_unix to create non-frozen emulator.

Usage

Please use the unittest.TestCase class:

from common import *

class TestSomething(unittest.TestCase):

    test_something(self):
        self.assertTrue(True)

Usage of assert is discouraged because it is not evaluated in production code (when PYOPT=1). Use self.assertXY instead, see unittest.py.