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 313ac4b11c
fix(core): Stricter Bitcoin transaction checks.
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
slip39_vectors.py
test_apps.binance.address.py
test_apps.binance.sign_tx.py
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 chore(core): Rework checking of CoinJoin parameters. 2 years ago
test_apps.bitcoin.authorization.py chore(core): Rework checking of CoinJoin parameters. 2 years ago
test_apps.bitcoin.keychain.py
test_apps.bitcoin.ownership_proof.py fix(core): Fix proof of ownership sighash computation. 3 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 chore(core): Simplify path warning UI. 2 years ago
test_apps.bitcoin.segwit.signtx.native_p2wpkh_grs.py
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py
test_apps.bitcoin.sign_tx.writers.py fix(core): Stricter Bitcoin transaction checks. 2 years ago
test_apps.bitcoin.signtx.fee_threshold.py
test_apps.bitcoin.signtx.omni.py
test_apps.bitcoin.signtx.py chore(core): update Bitcoin testcases to use valid prevtxes 2 years ago
test_apps.bitcoin.signtx_decred.py chore(core): update Bitcoin testcases to use valid prevtxes 2 years ago
test_apps.bitcoin.signtx_grs.py
test_apps.bitcoin.txweight.py feat(core): Support external inputs in TxWeightCalculator. 3 years ago
test_apps.bitcoin.zcash.zip243.py chore(core): Convert SIGHASH_* consts to SigHashType enum. 3 years ago
test_apps.cardano.address.py fix(cardano): update testnet protocol magic 2 years ago
test_apps.cardano.bech32.py
test_apps.cardano.certificate.py feat(cardano): add key hash stake credentials 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): streamed transaction signing 3 years ago
test_apps.common.coins.py
test_apps.common.keychain.py
test_apps.common.paths.py style(all): use f-strings for formatting 3 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
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/ethereum): enable type-checking for Ethereum app 3 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
test_apps.monero.bulletproof.py
test_apps.monero.clsag.py
test_apps.monero.crypto.py
test_apps.monero.proto.py
test_apps.monero.serializer.py
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
test_apps.tezos.encode.py
test_apps.webauthn.credential.py
test_storage.cache.py style(core): full pyright-based type-checking 3 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 feat(core): verify bip340 pubkeys used in p2tr addresses 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
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
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): plural function supports "key/keys" string 3 years ago
test_trezor.ui.display.py
test_trezor.ui.text.py
test_trezor.utils.py
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.