1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-16 04:29:08 +00:00
trezor-firmware/core/tests
2023-09-15 09:50:21 +02:00
..
production_tests style(all): use f-strings for formatting 2021-10-13 11:53:17 +02:00
common.py feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01:00
ethereum_common.py feat(core): update Ethereum definitions to verify using CoSi 2023-03-24 13:24:46 +01: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 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
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 refactor(core): get rid of passing Context around 2023-07-12 10:09:36 +02: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 fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +02:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +02:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +02:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +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(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +02:00
test_apps.bitcoin.signtx_grs.py fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +02:00
test_apps.bitcoin.signtx.fee_threshold.py fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +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 fix(tests): add chunkify argument to unittests 2023-09-15 09:50:21 +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 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
test_apps.common.keychain.py refactor(core): get rid of passing Context around 2023-07-12 10:09:36 +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.definitions.py feat(core): update Ethereum definitions to verify using CoSi 2023-03-24 13:24:46 +01:00
test_apps.ethereum.helpers.py feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01:00
test_apps.ethereum.keychain.py refactor(core): get rid of passing Context around 2023-07-12 10:09:36 +02:00
test_apps.ethereum.layout.py feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01:00
test_apps.ethereum.sign_typed_data.py refactor(core): get rid of passing Context around 2023-07-12 10:09:36 +02:00
test_apps.ethereum.tokens.py feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01: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): get rid of passing Context around 2023-07-12 10:09:36 +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 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 refactor(core): get rid of passing Context around 2023-07-12 10:09: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.cosi.py feat(core): implement CoSi module and CoSi verification 2023-03-24 13:24:46 +01:00
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.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 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
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): remove unused functions 2023-04-19 21:36:51 +02: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
unittest.py feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01: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.