1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-01 20:08:26 +00:00
trezor-firmware/core/tests
2022-05-03 19:00:04 +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 core: draft unit test for process_slip39 2019-10-03 16:01:01 +02:00
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 ci(monero): update test executable, enable more tests 2022-04-07 16:28:12 +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 core/slip39: Update code logic, tests and test vectors in accordance with the new requirement that the number of shares provided is equal to the threshold. 2019-05-03 18:28:14 +02:00
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 fix(core): Fix insufficient BIP-32 path checks. 2021-06-30 18:25:58 +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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.segwit.signtx.native_p2wpkh.py chore(core): Simplify path warning UI. 2022-03-17 09:44:03 +01:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh_grs.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.segwit.signtx.p2wpkh_in_p2sh.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.sign_tx.writers.py feat(core): Support unverified external inputs. 2022-03-17 09:44:03 +01:00
test_apps.bitcoin.signtx_decred.py chore(core): update Bitcoin testcases to use valid prevtxes 2022-02-28 15:45:29 +01:00
test_apps.bitcoin.signtx_grs.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.signtx.fee_threshold.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.signtx.omni.py core/bitcoin: finalize bitcoin refactor 2020-05-18 14:31:51 +02:00
test_apps.bitcoin.signtx.py chore(core): update Bitcoin testcases to use valid prevtxes 2022-02-28 15:45:29 +01:00
test_apps.bitcoin.txweight.py feat(core): Support external inputs in TxWeightCalculator. 2021-11-13 13:33:46 +01: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 fix(cardano): update testnet protocol magic 2022-03-18 14:32:54 +01: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 feat(cardano): add key hash stake credentials 2022-03-18 14:32:54 +01: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): streamed transaction signing 2021-08-20 11:50:13 +02:00
test_apps.common.coins.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
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 style(all): use f-strings for formatting 2021-10-13 11:53:17 +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/ethereum): enable type-checking for Ethereum app 2021-09-10 15:09:03 +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 xmr/bp: memory optimizations and improvements 2020-03-02 12:17:03 +01:00
test_apps.monero.clsag.py xmr: major protocol upgrade, CLSAG support added 2020-05-13 11:13:19 +02:00
test_apps.monero.crypto.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.monero.proto.py xmr: major protocol upgrade, CLSAG support added 2020-05-13 11:13:19 +02:00
test_apps.monero.serializer.py xmr: major protocol upgrade, CLSAG support added 2020-05-13 11:13:19 +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 core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
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.zip244.py test(core): add test for zip244 2022-05-02 16:07:31 +02:00
test_storage.cache.py style(core): full pyright-based type-checking 2022-01-07 21:41:17 +01: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 feat(core): verify bip340 pubkeys used in p2tr addresses 2022-02-16 10:25:15 +01: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
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 docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
test_trezor.crypto.hashlib.sha3_256.py
test_trezor.crypto.hashlib.sha3_512.py docs: switch http to https in links (#419) 2019-08-16 17:28:15 +02:00
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): plural function supports "key/keys" string 2021-11-02 14:27:01 +01: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.