1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-27 01:48:17 +00:00
trezor-firmware/core/tests
Dusan Klinec 2658e253fa xmr/bp: memory optimizations and improvements
- 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
2020-03-02 12:17:03 +01:00
..
production_tests core: show webusb popup only in bootloader and only if firmware is not installed 2020-02-12 20:47:05 +00:00
common.py core/tests: extract common await_result() method 2020-02-07 11:41:02 +00: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 core/tests: remove utest.py 2019-12-27 13:28:15 +01:00
run_tests_click_emu.sh tests: introduce UI tests for core 2020-01-03 14:28:27 +00:00
run_tests_device_emu_monero.sh core: improve stability of Monero test runner 2020-02-11 11:16:28 +01:00
run_tests.sh core/tests: remove PYOPT settings 2019-12-23 11:51:29 +00: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 core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.binance.sign_tx.py core/tests: make binance sign_tx test vector more readable 2019-09-03 15:09:12 +02:00
test_apps.cardano.address.py core/tests: update tests for modified slip39 API 2020-01-09 16:00:33 +01:00
test_apps.cardano.get_public_key.py core/tests: update tests for modified slip39 API 2020-01-09 16:00:33 +01:00
test_apps.common.cbor.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +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.paths.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.common.seed.py core/seed: add SLIP-0077 derivation to Keychain (#398) 2019-08-31 19:04:00 +02:00
test_apps.eos.check_action.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.eos.conversions.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.eos.get_public_key.py tests: fix file permissions 2019-09-14 14:41:12 +02:00
test_apps.ethereum.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.ethereum.layout.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.ethereum.tokens.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.lisk.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.management.recovery_device.py core/recovery: change exceptions types; modifications in tests 2019-12-30 11:35:56 +00:00
test_apps.monero.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.monero.bulletproof.py xmr/bp: memory optimizations and improvements 2020-03-02 12:17:03 +01: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.serializer.py core/tests: remove utest.py 2019-12-27 13:28:15 +01:00
test_apps.nem.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +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 core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.mosaic_supply_change.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.mosaic.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.multisig.aggregate_modification.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.multisig.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.namespace.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.nem.transfer.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.ripple.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.ripple.serializer.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.stellar.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.tezos.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.tezos.encode.py core/tezos: support the new protocol update (005-BABYLON) 2019-10-23 17:53:10 +02:00
test_apps.wallet.address_grs.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.address.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.segwit.bip143.native_p2wpkh.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.segwit.bip143.p2wpkh_in_p2sh.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.segwit.signtx.native_p2wpkh_grs.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.segwit.signtx.native_p2wpkh.py core: use wire errors instead of ValueErrors where applicable 2020-02-27 10:46:01 +00:00
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh_grs.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.segwit.signtx.p2wpkh_in_p2sh.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.signtx_grs.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.signtx.fee_threshold.py core/tests: Fix Keychain usage in test_apps.wallet.signtx.fee_threshold. 2019-07-16 14:30:30 +02:00
test_apps.wallet.signtx.omni.py core: fix unit tests for omni 2019-07-26 15:55:27 +02:00
test_apps.wallet.signtx.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.signtx.scripts.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.txweight.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_apps.wallet.zcash.zip143.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.wallet.zcash.zip243.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_apps.webauthn.credential.py core/tests: fix test suite after storage move 2019-10-31 16:34:16 +01:00
test_protobuf.py core/tests: extract common await_result() method 2020-02-07 11:41:02 +00:00
test_storage.cache.py core: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
test_storage.py core/tests: fix test suite after storage move 2019-10-31 16:34:16 +01:00
test_trezor.config.py core: Implement SD card protection. 2019-09-18 18:55:58 +02:00
test_trezor.crypto.aes.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.base32.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.base58.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.bech32.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.bip32.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.bip39.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.cashaddr.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.chacha20poly1305.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.crc.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.curve25519.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.ed25519_cosi.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.ed25519.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.nist256p1.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.curve.secp256k1.py core: fix unit tests for Bitcoin only firmware 2019-08-27 12:38:29 +02:00
test_trezor.crypto.der.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.blake2b.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
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 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.groestl512.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.ripemd160.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
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 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
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 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hashlib.sha512.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.hmac.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.pbkdf2.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.random.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.rfc6979.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
test_trezor.crypto.rlp.py MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +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 core/tests: thoroughly test modified APIs 2020-02-27 10:56:23 +01:00
test_trezor.io.sdcard.py core: fix unit tests 2020-02-20 12:51:48 +01:00
test_trezor.sdcard.py core: update Python facing APIs 2020-02-27 10:56:23 +01:00
test_trezor.strings.py core/test/strings: add test for words ending with 'hsxz' 2020-01-27 09:11:11 +00:00
test_trezor.ui.display.py core: fix unit tests 2019-04-23 20:11:59 +02:00
test_trezor.utils.py utils: introduce format_plural and move format functions to strings.py 2020-01-24 16:25:14 +01:00
test_trezor.wire.codec_v1.py core/tests: remove utest.py 2019-12-27 13:28:15 +01:00
test_unittest.py core/tests: test debug is on 2019-12-23 12:01:00 +00:00
unittest.py core/tests: remove utest.py 2019-12-27 13:28:15 +01: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.