1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-13 19:18:56 +00:00
trezor-firmware/core/tests
2022-10-25 21:36:03 +02: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
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 refactor(xmr): remove old BP code 2022-10-25 21:36:03 +02: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
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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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): Add mac field to Address message. 2022-01-31 18:00:22 +01:00
test_apps.bitcoin.approver.py chore(core): Rework checking of CoinJoin parameters. 2022-03-17 15:46:01 +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 feat(core): Implement SLIP-0025 CoinJoin accounts. 2022-08-30 15:53:44 +02:00
test_apps.bitcoin.ownership_proof.py fix(crypto): use zero auxiliary data in BIP340 2022-04-12 16:22:42 +02:00
test_apps.bitcoin.segwit.bip143.native_p2wpkh.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.segwit.bip143.p2wpkh_in_p2sh.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.segwit.bip341.p2tr.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh_grs.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2022-08-02 14:30:38 +02:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2022-08-02 14:30:38 +02:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2022-08-02 14:30:38 +02:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2022-08-02 14:30:38 +02: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 fix(core): Fix Decred transaction weight calculation. 2022-08-01 15:10:34 +02:00
test_apps.bitcoin.signtx_grs.py feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02:00
test_apps.bitcoin.signtx.fee_threshold.py feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02: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,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02: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 refactor(cardano): use module imports for addresses, certs, aux data 2022-07-04 15:58:27 +02:00
test_apps.cardano.bech32.py Cardano shelley update 2/3 (#1112) 2020-07-27 13:11:23 +02: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 feat(cardano): add support for chunked embedded CBOR 2022-07-04 15:58:27 +02:00
test_apps.common.coins.py
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 feat(core): Implement SLIP-0025 CoinJoin accounts. 2022-08-30 15:53:44 +02:00
test_apps.common.seed.py core/tests: add unit tests for new functionality 2020-07-24 16:37:58 +02:00
test_apps.eos.check_action.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +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/tests): update unit tests for new APIs, drop unnecessary ones 2020-11-05 14:30:11 +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): enable type-checking for Ethereum app 2021-09-10 15:09:03 +02: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): EIP-712 2021-11-02 14:27:01 +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
test_apps.nem.mosaic_creation.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_apps.nem.mosaic_supply_change.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_apps.nem.mosaic.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +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 style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_apps.nem.namespace.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01:00
test_apps.nem.transfer.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +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 style(core): full pyright-based type-checking 2022-01-07 21:41:17 +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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.webauthn.credential.py core: wipe before reset and recovery; introduce 'intialized' field 2020-06-16 11:31:29 +02: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 test(core): add test for zip244 2022-05-02 16:07:31 +02:00
test_storage.cache.py feat(core): Add set_int() and get_int() to storage cache. 2022-10-10 20:32:36 +02: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
test_trezor.crypto.base32.py
test_trezor.crypto.base58.py
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
test_trezor.crypto.cashaddr.py
test_trezor.crypto.chacha20poly1305.py
test_trezor.crypto.crc.py
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
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
test_trezor.crypto.curve.nist256p1.py
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
test_trezor.crypto.hashlib.blake2s.py
test_trezor.crypto.hashlib.blake256.py
test_trezor.crypto.hashlib.groestl512.py
test_trezor.crypto.hashlib.ripemd160.py
test_trezor.crypto.hashlib.sha1.py
test_trezor.crypto.hashlib.sha3_256.py
test_trezor.crypto.hashlib.sha3_512.py
test_trezor.crypto.hashlib.sha256.py
test_trezor.crypto.hashlib.sha512.py
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
test_trezor.crypto.random.py
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 core/tests: update tests for modified slip39 API 2020-01-09 16:00:33 +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 perf(core): enable rendering of substrings to avoid slicing 2021-01-11 16:47:59 +01:00
test_trezor.ui.text.py refactor(core): model-dependent UI component directories 2021-02-10 13:57:19 +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.