1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-19 06:19:27 +00:00
trezor-firmware/core/tests
Andrew Kozlik 9b579094c0 fix(core): Fix TxWeightCalculator.
- Refactor TxWeightCalculator to count inputs and outputs itself.
- Fix witness data weight by adding the weight of the witness stack item count
  for each input in segwit transactions and removing the weight of the
  nonsensical extra inputs count.
- Get multisig pubkey count from multisig.nodes or multisig.pubkeys like in
  multisig_get_pubkeys().
- Fix size of multisig script length encoding in segwit (varint vs. OP_PUSH).
- Improve comments.
2021-11-13 13:33:46 +01: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 core/tests: fix test suite after storage move 2019-10-31 16:34:16 +01:00
mock.py core: draft unit test for process_slip39 2019-10-03 16:01:01 +02:00
README.md ci: enable editorconfig checks, fix whitespace issues 2020-11-11 14:43:50 +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 feat(core/monero): cache Monero testing chain between runs 2021-06-23 11:51:18 +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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.approver.py chore(core): Support script_pubkey parameter for Bitcoin inputs. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.authorization.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.segwit.bip143.native_p2wpkh.py feat(core): Implement the BIP-341 common signature message computation. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.segwit.bip143.p2wpkh_in_p2sh.py feat(core): Implement the BIP-341 common signature message computation. 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 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_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 chore(core): Support script_pubkey parameter for Bitcoin inputs. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.signtx_decred.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.bitcoin.txweight.py fix(core): Fix TxWeightCalculator. 2021-11-13 13:33:46 +01:00
test_apps.bitcoin.zcash.zip243.py feat(core): Implement the BIP-341 common signature message computation. 2021-11-13 13:33:46 +01:00
test_apps.cardano.address.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.bech32.py Cardano shelley update 2/3 (#1112) 2020-07-27 13:11:23 +02:00
test_apps.cardano.certificate.py feat(cardano): update transaction signing for multisig 2021-10-11 15:16:24 +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 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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.nem.mosaic_supply_change.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.nem.mosaic.py fix(core/tests): fix equality testing for new message types 2021-06-08 09:55:19 +02:00
test_apps.nem.multisig.aggregate_modification.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.nem.multisig.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.nem.namespace.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
test_apps.nem.transfer.py refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02: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_storage.cache.py fix(core): allow caching empty values (fixes #1659) 2021-06-11 12:32:13 +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 feat(core): add BIP-350 test cases to test_trezor.crypto.bech32 2021-10-18 13:36:05 +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.crc.py
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 refactor(core): turn SECP256K1_ZKP into a firmware feature flag 2021-01-22 14:06:29 +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 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
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 feat(core/rust): catch, handle and propagate uPy exceptions 2021-09-21 12:43:31 +02: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 core/webauthn: Truncate names in credential data to at most 100 bytes. 2020-03-20 15:07:06 +01: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.

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.