mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-03-08 19:26:14 +00:00
![]() - different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory. - memory requirements reduced from (4MN + const) to (2MN + const) - more raw methods to avoid unnecessary encoding/decoding - chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16 - proof_v8 support discontinued, old hardfork, not needed anymore - get_exponent register clash fixed (for large vectors) - reduced heap fragmentation by removing some temporary allocations - hashing with len and offset to reduce heap fragmentation by creating a sliced arrays - use to() wherever possible to avoid allocations and return of mutable private object - global functions start with _ prefix, reduce import footprint - use __slots__ in classes to minimize footprint |
||
---|---|---|
.. | ||
production_tests | ||
common.py | ||
mock_storage.py | ||
mock.py | ||
README.md | ||
run_tests_click_emu.sh | ||
run_tests_device_emu_monero.sh | ||
run_tests.sh | ||
slip39_vectors.py | ||
test_apps.binance.address.py | ||
test_apps.binance.sign_tx.py | ||
test_apps.cardano.address.py | ||
test_apps.cardano.get_public_key.py | ||
test_apps.common.cbor.py | ||
test_apps.common.coins.py | ||
test_apps.common.paths.py | ||
test_apps.common.seed.py | ||
test_apps.eos.check_action.py | ||
test_apps.eos.conversions.py | ||
test_apps.eos.get_public_key.py | ||
test_apps.ethereum.address.py | ||
test_apps.ethereum.layout.py | ||
test_apps.ethereum.tokens.py | ||
test_apps.lisk.address.py | ||
test_apps.management.recovery_device.py | ||
test_apps.monero.address.py | ||
test_apps.monero.bulletproof.py | ||
test_apps.monero.crypto.py | ||
test_apps.monero.serializer.py | ||
test_apps.nem.address.py | ||
test_apps.nem.hdnode.py | ||
test_apps.nem.mosaic_creation.py | ||
test_apps.nem.mosaic_supply_change.py | ||
test_apps.nem.mosaic.py | ||
test_apps.nem.multisig.aggregate_modification.py | ||
test_apps.nem.multisig.py | ||
test_apps.nem.namespace.py | ||
test_apps.nem.transfer.py | ||
test_apps.ripple.address.py | ||
test_apps.ripple.serializer.py | ||
test_apps.stellar.address.py | ||
test_apps.tezos.address.py | ||
test_apps.tezos.encode.py | ||
test_apps.wallet.address_grs.py | ||
test_apps.wallet.address.py | ||
test_apps.wallet.segwit.bip143.native_p2wpkh.py | ||
test_apps.wallet.segwit.bip143.p2wpkh_in_p2sh.py | ||
test_apps.wallet.segwit.signtx.native_p2wpkh_grs.py | ||
test_apps.wallet.segwit.signtx.native_p2wpkh.py | ||
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh_grs.py | ||
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh.py | ||
test_apps.wallet.signtx_grs.py | ||
test_apps.wallet.signtx.fee_threshold.py | ||
test_apps.wallet.signtx.omni.py | ||
test_apps.wallet.signtx.py | ||
test_apps.wallet.signtx.scripts.py | ||
test_apps.wallet.txweight.py | ||
test_apps.wallet.zcash.zip143.py | ||
test_apps.wallet.zcash.zip243.py | ||
test_apps.webauthn.credential.py | ||
test_protobuf.py | ||
test_storage.cache.py | ||
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 | ||
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.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_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.rfc6979.py | ||
test_trezor.crypto.rlp.py | ||
test_trezor.crypto.slip39.py | ||
test_trezor.io.fatfs.py | ||
test_trezor.io.sdcard.py | ||
test_trezor.sdcard.py | ||
test_trezor.strings.py | ||
test_trezor.ui.display.py | ||
test_trezor.utils.py | ||
test_trezor.wire.codec_v1.py | ||
test_unittest.py | ||
unittest.py |
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
.