test.overlay: fake module cleanups
1) attempt to add as few names to the module's namespace as possible 2) all names added to the namespace must begin with 'overlay_fake_'
This commit is contained in:
parent
b6f58af8c3
commit
7d2531b7b3
6 changed files with 58 additions and 50 deletions
|
|
@ -66,8 +66,8 @@ ref_kafile_hash_preset = '1'
|
|||
|
||||
def getrand(n):
|
||||
if g.test_suite_deterministic:
|
||||
from mmgen.crypto import fake_urandom
|
||||
return fake_urandom(n)
|
||||
from mmgen.crypto import overlay_fake_data
|
||||
return overlay_fake_data.urandom(n)
|
||||
else:
|
||||
return os.urandom(n)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,25 +1,28 @@
|
|||
import os as overlay_fake_os
|
||||
from .crypto_orig import *
|
||||
|
||||
if os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
if overlay_fake_os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
|
||||
get_random_orig = get_random
|
||||
add_user_random_orig = add_user_random
|
||||
class overlay_fake_data:
|
||||
|
||||
import sys
|
||||
from hashlib import sha256
|
||||
fake_rand_h = sha256('.'.join(sys.argv).encode())
|
||||
import sys
|
||||
from hashlib import sha256
|
||||
rand_h = sha256('.'.join(sys.argv).encode())
|
||||
|
||||
def fake_urandom(n):
|
||||
get_random = get_random
|
||||
add_user_random = add_user_random
|
||||
|
||||
def gen(rounds):
|
||||
for i in range(rounds):
|
||||
fake_rand_h.update(b'foo')
|
||||
yield fake_rand_h.digest()
|
||||
def urandom(n):
|
||||
|
||||
return b''.join(gen(int(n/32)+1))[:n]
|
||||
def gen(rounds):
|
||||
for i in range(rounds):
|
||||
overlay_fake_data.rand_h.update(b'foo')
|
||||
yield overlay_fake_data.rand_h.digest()
|
||||
|
||||
return b''.join(gen(int(n/32)+1))[:n]
|
||||
|
||||
def get_random(length):
|
||||
return fake_urandom(len(get_random_orig(length)))
|
||||
return overlay_fake_data.urandom(len(overlay_fake_data.get_random(length)))
|
||||
|
||||
def add_user_random(rand_bytes,desc):
|
||||
return fake_urandom(len(add_user_random_orig(rand_bytes,desc)))
|
||||
return overlay_fake_data.urandom(len(overlay_fake_data.add_user_random(rand_bytes,desc)))
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
import os
|
||||
import os as overlay_fake_os
|
||||
from .unspent_orig import *
|
||||
|
||||
if os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
if overlay_fake_os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
|
||||
async def fake_get_rpc_data(foo):
|
||||
from decimal import Decimal
|
||||
import json
|
||||
from ....fileutil import get_data_from_file
|
||||
return json.loads(get_data_from_file(os.getenv('MMGEN_BOGUS_UNSPENT_DATA')),parse_float=Decimal)
|
||||
class overlay_fake_data:
|
||||
|
||||
BitcoinTwUnspentOutputs.get_rpc_data = fake_get_rpc_data
|
||||
async def get_rpc_data(foo):
|
||||
from decimal import Decimal
|
||||
import json
|
||||
from ....fileutil import get_data_from_file
|
||||
return json.loads(get_data_from_file(
|
||||
overlay_fake_os.getenv('MMGEN_BOGUS_UNSPENT_DATA')),parse_float=Decimal)
|
||||
|
||||
BitcoinTwUnspentOutputs.get_rpc_data = overlay_fake_data.get_rpc_data
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
import os as overlay_fake_os
|
||||
from .rpc_orig import *
|
||||
|
||||
if os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
if overlay_fake_os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
|
||||
rpc_init_orig = rpc_init
|
||||
class overlay_fake_data:
|
||||
rpc_init = rpc_init
|
||||
|
||||
async def rpc_init(*args,**kwargs):
|
||||
|
||||
ret = await rpc_init_orig(*args,**kwargs)
|
||||
|
||||
ret = await overlay_fake_data.rpc_init(*args,**kwargs)
|
||||
ret.blockcount = 1000000
|
||||
|
||||
return ret
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
import os
|
||||
import os as overlay_fake_os
|
||||
from .common_orig import *
|
||||
|
||||
if os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
def _time_gen():
|
||||
""" add a minute to each successive time value """
|
||||
for i in range(1000000):
|
||||
yield 1321009871 + (i*60)
|
||||
if overlay_fake_os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
|
||||
_time_iter = _time_gen()
|
||||
class overlay_fake_data:
|
||||
# add a minute to each successive time value
|
||||
time_iter = (1321009871 + (i*60) for i in range(1000000))
|
||||
|
||||
TwCommon.date_formatter = {
|
||||
'days': lambda rpc,secs: (next(_time_iter) - secs) // 86400,
|
||||
'date': lambda rpc,secs: '{}-{:02}-{:02}'.format(*time.gmtime(next(_time_iter))[:3])[2:],
|
||||
'date_time': lambda rpc,secs: '{}-{:02}-{:02} {:02}:{:02}'.format(*time.gmtime(next(_time_iter))[:5]),
|
||||
'days': lambda rpc,secs: (next(overlay_fake_data.time_iter) - secs) // 86400,
|
||||
'date': lambda rpc,secs: '{}-{:02}-{:02}'.format(*time.gmtime(next(overlay_fake_data.time_iter))[:3])[2:],
|
||||
'date_time': lambda rpc,secs: '{}-{:02}-{:02} {:02}:{:02}'.format(*time.gmtime(next(overlay_fake_data.time_iter))[:5]),
|
||||
}
|
||||
|
||||
if os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
if overlay_fake_os.getenv('MMGEN_BOGUS_UNSPENT_DATA'):
|
||||
|
||||
async def fake_set_dates(foo,rpc,us):
|
||||
for o in us:
|
||||
o.date = 1831006505 - int(9.7 * 60 * (o.confs - 1))
|
||||
class overlay_fake_data2:
|
||||
|
||||
TwCommon.set_dates = fake_set_dates
|
||||
async def set_dates(foo,rpc,us):
|
||||
for o in us:
|
||||
o.date = 1831006505 - int(9.7 * 60 * (o.confs - 1))
|
||||
|
||||
TwCommon.set_dates = overlay_fake_data2.set_dates
|
||||
|
||||
# 1831006505 (09 Jan 2028) = projected time of block 1000000
|
||||
TwCommon.date_formatter['days'] = lambda rpc,secs: (1831006505 - secs) // 86400
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
import os as overlay_fake_os
|
||||
from .util_orig import *
|
||||
|
||||
if os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
make_timestamp_orig = make_timestamp
|
||||
make_timestr_orig = make_timestr
|
||||
if overlay_fake_os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
||||
|
||||
class overlay_fake_data:
|
||||
make_timestamp = make_timestamp
|
||||
make_timestr = make_timestr
|
||||
|
||||
def make_timestamp(secs=None):
|
||||
return make_timestamp_orig(1321009871)
|
||||
return overlay_fake_data.make_timestamp(1321009871)
|
||||
|
||||
def make_timestr(secs=None):
|
||||
return make_timestr_orig(1321009871)
|
||||
return overlay_fake_data.make_timestr(1321009871)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue