Browse Source

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_'
The MMGen Project 2 years ago
parent
commit
7d2531b7b3

+ 2 - 2
test/include/common.py

@@ -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)
 

+ 17 - 14
test/overlay/fakemods/mmgen/crypto.py

@@ -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)))

+ 11 - 8
test/overlay/fakemods/mmgen/proto/btc/tw/unspent.py

@@ -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

+ 5 - 6
test/overlay/fakemods/mmgen/rpc.py

@@ -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

+ 15 - 15
test/overlay/fakemods/mmgen/tw/common.py

@@ -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

+ 8 - 5
test/overlay/fakemods/mmgen/util.py

@@ -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)