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
Andrew Kozlik 91e38ebd03
fix(core): Change precision of CoinJoin fee rate in unit tests.
2 years ago
..
production_tests style(all): use f-strings for formatting 3 years ago
README.md chore(core): update Bitcoin testcases to use valid prevtxes 2 years ago
common.py refactor(core): convert apps.common to layouts 3 years ago
mock.py
mock_storage.py style(core): full pyright-based type-checking 3 years ago
run_tests.sh
run_tests_click_emu.sh
run_tests_device_emu_monero.sh refactor(xmr): remove old BP code 2 years ago
slip39_vectors.py
test_apps.binance.address.py
test_apps.binance.sign_tx.py refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.bitcoin.address.py chore(core): Add mac field to Address message. 2 years ago
test_apps.bitcoin.address_grs.py
test_apps.bitcoin.approver.py fix(core): Change precision of CoinJoin fee rate in unit tests. 2 years ago
test_apps.bitcoin.authorization.py chore(core): Rework checking of CoinJoin parameters. 2 years ago
test_apps.bitcoin.keychain.py feat(core): Implement SLIP-0025 CoinJoin accounts. 2 years ago
test_apps.bitcoin.ownership_proof.py fix(crypto): use zero auxiliary data in BIP340 2 years ago
test_apps.bitcoin.segwit.bip143.native_p2wpkh.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 3 years ago
test_apps.bitcoin.segwit.bip143.p2wpkh_in_p2sh.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 3 years ago
test_apps.bitcoin.segwit.bip341.p2tr.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 3 years ago
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2 years ago
test_apps.bitcoin.segwit.signtx.native_p2wpkh_grs.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2 years ago
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2 years ago
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py fix(core,legacy): Fix tx_weight to tx_size conversion. 2 years ago
test_apps.bitcoin.sign_tx.writers.py fix(core): Stricter Bitcoin transaction checks. 2 years ago
test_apps.bitcoin.signtx.fee_threshold.py feat(core,legacy): show fee rate when signing transaction 2 years ago
test_apps.bitcoin.signtx.omni.py feat(core/strings): use thousands separator (fixes #2394) 2 years ago
test_apps.bitcoin.signtx.py feat(core,legacy): show fee rate when signing transaction 2 years ago
test_apps.bitcoin.signtx_decred.py fix(core): Fix Decred transaction weight calculation. 2 years ago
test_apps.bitcoin.signtx_grs.py feat(core,legacy): show fee rate when signing transaction 2 years 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
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
test_apps.common.cbor.py feat(cardano): add support for chunked embedded CBOR 2 years ago
test_apps.common.coins.py
test_apps.common.keychain.py refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.common.paths.py feat(core): Implement SLIP-0025 CoinJoin accounts. 2 years ago
test_apps.common.seed.py
test_apps.eos.check_action.py style(core): full pyright-based type-checking 3 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
test_apps.ethereum.helpers.py refactor(core/ethereum): rename address.py to helpers.py 3 years ago
test_apps.ethereum.keychain.py feat(core/ethereum): enable type-checking for Ethereum app 3 years ago
test_apps.ethereum.layout.py feat(core/strings): use thousands separator (fixes #2394) 2 years ago
test_apps.ethereum.sign_typed_data.py feat(core/ethereum): EIP-712 3 years ago
test_apps.ethereum.tokens.py feat(core/ethereum): use TokenInfo object instead of tuples 3 years 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/monero): Monero code cleanup 2 years 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 style(core): full pyright-based type-checking 3 years ago
test_apps.nem.mosaic_creation.py style(core): full pyright-based type-checking 3 years ago
test_apps.nem.mosaic_supply_change.py style(core): full pyright-based type-checking 3 years ago
test_apps.nem.multisig.aggregate_modification.py style(core): full pyright-based type-checking 3 years ago
test_apps.nem.multisig.py style(core): full pyright-based type-checking 3 years ago
test_apps.nem.namespace.py style(core): full pyright-based type-checking 3 years ago
test_apps.nem.transfer.py style(core): full pyright-based type-checking 3 years ago
test_apps.ripple.address.py
test_apps.ripple.serializer.py style(core): full pyright-based type-checking 3 years 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 refactor(core): fix imports and use new protobuf API in apps 3 years ago
test_apps.webauthn.credential.py
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 test(core): add test for zip244 2 years ago
test_storage.cache.py feat(core): Add set_int() and get_int() to storage cache. 2 years ago
test_storage.py
test_trezor.config.py
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.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.ed25519_cosi.py fix(crypto): Fix nonce bias in CoSi signing. 2 years ago
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
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 3 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
test_trezor.ui.text.py
test_trezor.utils.py feat(core): Implement GetFirmwareHash message. 2 years ago
test_trezor.wire.codec_v1.py
test_unittest.py
unittest.py style(all): use f-strings for formatting 3 years 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.