Browse Source

tests: introduce FAST_TESTS flag for faster local testing

3.2.x
SomberNight 7 years ago
parent
commit
dbec3af810
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 7
      lib/tests/__init__.py
  2. 8
      lib/tests/test_bitcoin.py

7
lib/tests/__init__.py

@ -4,6 +4,13 @@ import threading
from lib import constants
# Set this locally to make the test suite run faster.
# If set, unit tests that would normally test functions with multiple implementations,
# will only be run once, using the fastest implementation.
# e.g. libsecp256k1 vs python-ecdsa. pycryptodomex vs pyaes.
FAST_TESTS = False
# some unit tests are modifying globals; sorry.
class SequentialTestCase(unittest.TestCase):

8
lib/tests/test_bitcoin.py

@ -21,8 +21,8 @@ from lib import constants
from lib.storage import WalletStorage
from . import SequentialTestCase
from . import TestCaseForTestnet
from . import FAST_TESTS
try:
@ -39,6 +39,9 @@ def needs_test_with_all_ecc_implementations(func):
tests running in parallel would break things
"""
def run_test(*args, **kwargs):
if FAST_TESTS: # if set, only run tests once, using fastest implementation
func(*args, **kwargs)
return
ecc_fast.undo_monkey_patching_of_python_ecdsa_internals_with_libsecp256k1()
try:
# first test without libsecp
@ -61,6 +64,9 @@ def needs_test_with_all_aes_implementations(func):
tests running in parallel would break things
"""
def run_test(*args, **kwargs):
if FAST_TESTS: # if set, only run tests once, using fastest implementation
func(*args, **kwargs)
return
_aes = crypto.AES
crypto.AES = None
try:

Loading…
Cancel
Save