You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/core/tests
tychovrahe b71b4cdc82
refactor(core): unify touch and button handling, enable usage of both in one model
5 months ago
..
production_tests refactor(core): unify touch and button handling, enable usage of both in one model 5 months ago
README.md chore(core): update Bitcoin testcases to use valid prevtxes 2 years ago
common.py feat(core): external Ethereum definitions 1 year ago
ethereum_common.py feat(core): update Ethereum definitions to verify using CoSi 1 year ago
mock.py
mock_storage.py style(core): full pyright-based type-checking 2 years ago
run_tests.sh chore(core/tests): bump heap size for core unit tests 3 years ago
run_tests_click_emu.sh
run_tests_device_emu_monero.sh chore: update trezor_tests binary 1 year ago
slip39_vectors.py
test_apps.binance.address.py
test_apps.binance.sign_tx.py chore(core): decrease binance size by 460 bytes 2 years ago
test_apps.bitcoin.address.py chore(core): decrease bitcoin size by 1740 bytes 2 years ago
test_apps.bitcoin.address_grs.py
test_apps.bitcoin.approver.py feat(core): Validate script type of change-outputs in Bitcoin signing. 1 year ago
test_apps.bitcoin.authorization.py chore(core): Rework checking of CoinJoin parameters. 2 years ago
test_apps.bitcoin.keychain.py refactor(core): get rid of passing Context around 11 months ago
test_apps.bitcoin.ownership_proof.py fix(tests): Fix ownership proof unit test to match test vector 2 from SLIP-19. 1 year ago
test_apps.bitcoin.segwit.bip143.native_p2wpkh.py chore(core): decrease bitcoin size by 1740 bytes 2 years ago
test_apps.bitcoin.segwit.bip143.p2wpkh_in_p2sh.py chore(core): decrease bitcoin size by 1740 bytes 2 years ago
test_apps.bitcoin.segwit.bip341.p2tr.py chore(core): decrease bitcoin size by 1740 bytes 2 years ago
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.segwit.signtx.native_p2wpkh_grs.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.sign_tx.writers.py fix(core): Stricter Bitcoin transaction checks. 2 years ago
test_apps.bitcoin.signtx.fee_threshold.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.signtx.omni.py feat(core/strings): use thousands separator (fixes #2394) 2 years ago
test_apps.bitcoin.signtx.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.signtx_decred.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.signtx_grs.py fix(tests): add chunkify argument to unittests 9 months ago
test_apps.bitcoin.txweight.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2 years ago
test_apps.bitcoin.zcash.zip243.py feat!(core): support Zcash v5 transaction format 2 years ago
test_apps.cardano.address.py feat(cardano): add preprod and preview testnets 2 years ago
test_apps.cardano.bech32.py chore(core): decrease cardano size by 2290 bytes 2 years ago
test_apps.cardano.certificate.py refactor(cardano): use module imports for addresses, certs, aux data 2 years ago
test_apps.cardano.credential.py feat(cardano): add support for script addresses derivation 3 years ago
test_apps.cardano.get_public_key.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 3 years ago
test_apps.cardano.native_script.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 3 years ago
test_apps.cardano.seed.py tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests 3 years ago
test_apps.cardano.sign_tx.py feat(cardano): add support for script addresses derivation 3 years ago
test_apps.cardano.staking_use_cases.py feat(cardano): add support for script addresses derivation 3 years ago
test_apps.cardano.utils.py feat(core/cardano): Implement bech32 asset ids based on CIP-0014 3 years ago
test_apps.common.cbor.py chore(core): decrease common size by 5200 bytes 2 years ago
test_apps.common.coins.py
test_apps.common.keychain.py refactor(core): get rid of passing Context around 11 months ago
test_apps.common.paths.py chore(core): delete unused functions 2 years ago
test_apps.common.seed.py
test_apps.common.writers.py chore(core): decrease common size by 5200 bytes 2 years ago
test_apps.eos.check_action.py chore(core): decrease eos size by 1kb 2 years ago
test_apps.eos.conversions.py refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.eos.get_public_key.py chore(core): decrease eos size by 1kb 2 years ago
test_apps.ethereum.definitions.py feat(core): update Ethereum definitions to verify using CoSi 1 year ago
test_apps.ethereum.helpers.py feat(core): external Ethereum definitions 1 year ago
test_apps.ethereum.keychain.py refactor(core): get rid of passing Context around 11 months ago
test_apps.ethereum.layout.py chore(core): hardcode ETH and Gwei units in ETH send summary 7 months ago
test_apps.ethereum.sign_typed_data.py refactor(core): get rid of passing Context around 11 months ago
test_apps.ethereum.tokens.py feat(core): external Ethereum definitions 1 year ago
test_apps.management.recovery_device.py refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.monero.bulletproof.py refactor(xmr): remove old BP code 2 years ago
test_apps.monero.clsag.py refactor(core/monero): Monero code cleanup 2 years ago
test_apps.monero.crypto.py fix(xmr): fix tx sending to an integrated address 2 years ago
test_apps.monero.proto.py refactor(core): get rid of passing Context around 11 months ago
test_apps.monero.serializer.py chore(xmr): delete unused code 2 years ago
test_apps.nem.address.py refactor(core): convert apps.common to layouts 3 years ago
test_apps.nem.hdnode.py
test_apps.nem.mosaic.py chore(core): decrease nem size by 1550 bytes 2 years ago
test_apps.nem.mosaic_creation.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2 years ago
test_apps.nem.mosaic_supply_change.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2 years ago
test_apps.nem.multisig.aggregate_modification.py style(core): full pyright-based type-checking 2 years ago
test_apps.nem.multisig.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2 years ago
test_apps.nem.namespace.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2 years ago
test_apps.nem.transfer.py chore(core): decrease nem size by 1550 bytes 2 years ago
test_apps.ripple.address.py
test_apps.ripple.serializer.py chore(core): import trezor.messages in TYPE_CHECKING branch - saving 1kb 2 years ago
test_apps.solana.predefined_transaction.py feat(solana): add additional info with token account 6 months ago
test_apps.stellar.address.py
test_apps.tezos.address.py refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.tezos.encode.py chore(core): decrease tezos size by 860 bytes 2 years ago
test_apps.webauthn.credential.py chore(core): decrease webauthn size by 1270 bytes 2 years ago
test_apps.zcash.f4jumble.py feat(core): add support for Zcash unified addresses 2 years ago
test_apps.zcash.unified_addresses.py feat(core): add support for Zcash unified addresses 2 years ago
test_apps.zcash.zip244.py chore(core): decrease zcash size by 300 bytes 2 years ago
test_storage.cache.py refactor(core): get rid of passing Context around 11 months ago
test_storage.py fix(core): Improve error handling and range checking in modtrezorconfig. 3 years ago
test_trezor.config.py test(core): Add unit test for modtrezorconfig counter. 3 years ago
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. 2 years ago
test_trezor.crypto.bip32.py
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 1 year ago
test_trezor.crypto.crc.py
test_trezor.crypto.curve.bip340.py test(core): add unit tests for bip340 3 years ago
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 3 years ago
test_trezor.crypto.der.py
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
test_trezor.crypto.pbkdf2.py
test_trezor.crypto.random.py
test_trezor.crypto.rlp.py refactor(core/ethereum): improve API of the rlp module 3 years ago
test_trezor.crypto.slip39.py chore(core): decrease crypto size by 60 bytes 2 years ago
test_trezor.io.fatfs.py style(all): use f-strings for formatting 3 years ago
test_trezor.io.sdcard.py
test_trezor.protobuf.py style(core): full pyright-based type-checking 2 years ago
test_trezor.sdcard.py refactor(core): disable SD, SBU, fatfs for T1 build 3 years ago
test_trezor.strings.py feat(core/strings): use thousands separator (fixes #2394) 2 years ago
test_trezor.ui.display.py refactor(core/ui): clear display on rust side 8 months ago
test_trezor.utils.py feat(core): Implement GetFirmwareHash message. 2 years ago
test_trezor.wire.codec_v1.py refactor(core): Switch to new Protobuf API 3 years ago
test_unittest.py
unittest.py feat(core): external Ethereum definitions 1 year ago

README.md

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.