mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-04 04:45:16 +00:00
tests: introduce FAST_TESTS flag for faster local testing
This commit is contained in:
parent
1f373c1eb9
commit
dbec3af810
2 changed files with 14 additions and 1 deletions
|
@ -4,6 +4,13 @@ import threading
|
||||||
from lib import constants
|
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.
|
# some unit tests are modifying globals; sorry.
|
||||||
class SequentialTestCase(unittest.TestCase):
|
class SequentialTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@ from lib import constants
|
||||||
from lib.storage import WalletStorage
|
from lib.storage import WalletStorage
|
||||||
|
|
||||||
from . import SequentialTestCase
|
from . import SequentialTestCase
|
||||||
|
|
||||||
from . import TestCaseForTestnet
|
from . import TestCaseForTestnet
|
||||||
|
from . import FAST_TESTS
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -39,6 +39,9 @@ def needs_test_with_all_ecc_implementations(func):
|
||||||
tests running in parallel would break things
|
tests running in parallel would break things
|
||||||
"""
|
"""
|
||||||
def run_test(*args, **kwargs):
|
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()
|
ecc_fast.undo_monkey_patching_of_python_ecdsa_internals_with_libsecp256k1()
|
||||||
try:
|
try:
|
||||||
# first test without libsecp
|
# first test without libsecp
|
||||||
|
@ -61,6 +64,9 @@ def needs_test_with_all_aes_implementations(func):
|
||||||
tests running in parallel would break things
|
tests running in parallel would break things
|
||||||
"""
|
"""
|
||||||
def run_test(*args, **kwargs):
|
def run_test(*args, **kwargs):
|
||||||
|
if FAST_TESTS: # if set, only run tests once, using fastest implementation
|
||||||
|
func(*args, **kwargs)
|
||||||
|
return
|
||||||
_aes = crypto.AES
|
_aes = crypto.AES
|
||||||
crypto.AES = None
|
crypto.AES = None
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Add table
Reference in a new issue