|
@@ -0,0 +1,50 @@
|
|
|
+#!/usr/bin/env python3
|
|
|
+"""
|
|
|
+test.unit_tests_d.ut_testdep: test dependency unit tests for the MMGen suite
|
|
|
+"""
|
|
|
+
|
|
|
+from mmgen.common import *
|
|
|
+
|
|
|
+sec = 'deadbeef' * 8
|
|
|
+
|
|
|
+class unit_tests:
|
|
|
+
|
|
|
+ altcoin_deps = ('pycoin','moneropy','keyconv','zcash_mini','ethkey')
|
|
|
+ win_skip = ('losetup',)
|
|
|
+
|
|
|
+ def core_repo(self,name,ut):
|
|
|
+ crr = os.getenv('CORE_REPO_ROOT')
|
|
|
+ if not crr or not os.path.exists(os.path.join(crr,'src/test/data/tx_valid.json')):
|
|
|
+ ymsg('CORE_REPO_ROOT not set, or does not point to Bitcoin Core repository')
|
|
|
+ return False
|
|
|
+ return True
|
|
|
+
|
|
|
+ def losetup(self,name,ut):
|
|
|
+ os.stat('/dev/loop0')
|
|
|
+ run(['/sbin/losetup','-f'],check=True,stdout=PIPE)
|
|
|
+ return True
|
|
|
+
|
|
|
+ def pycoin(self,name,ut):
|
|
|
+ from pycoin.networks.registry import network_for_netcode as nfnc
|
|
|
+ network = nfnc('btc')
|
|
|
+ key = network.keys.private(secret_exponent=int(sec,16),is_compressed=True)
|
|
|
+ hash160_c = key.hash160(is_compressed=True)
|
|
|
+ addr = network.address.for_p2pkh_wit(hash160_c)
|
|
|
+ return True
|
|
|
+
|
|
|
+ def moneropy(self,name,ut):
|
|
|
+ from moneropy import account
|
|
|
+ res = account.account_from_spend_key(sec)
|
|
|
+ return True
|
|
|
+
|
|
|
+ def keyconv(self,name,ut):
|
|
|
+ res = run(['keyconv','-G','ltc'],stdout=PIPE,stderr=PIPE)
|
|
|
+ return True
|
|
|
+
|
|
|
+ def zcash_mini(self,name,ut):
|
|
|
+ res = run(['zcash-mini'],stdout=PIPE)
|
|
|
+ return True
|
|
|
+
|
|
|
+ def ethkey(self,name,ut):
|
|
|
+ res = run(['ethkey','generate','random'],stdout=PIPE)
|
|
|
+ return True
|