Browse Source

update testing for MMGen Wallet v14.1.dev19

The MMGen Project 2 months ago
parent
commit
db4ba26dce
4 changed files with 25 additions and 18 deletions
  1. 1 1
      mmgen_node_tools/data/version
  2. 1 1
      setup.cfg
  3. 6 7
      test/cmdtest_py_d/ct_misc.py
  4. 17 9
      test/cmdtest_py_d/ct_regtest.py

+ 1 - 1
mmgen_node_tools/data/version

@@ -1 +1 @@
-3.3.dev2
+3.3.dev3

+ 1 - 1
setup.cfg

@@ -28,7 +28,7 @@ python_requires = >=3.9
 include_package_data = True
 
 install_requires =
-	mmgen-wallet>=14.1.dev8
+	mmgen-wallet>=14.1.dev19
 	pyyaml
 	yahooquery
 

+ 6 - 7
test/cmdtest_py_d/ct_misc.py

@@ -106,10 +106,11 @@ class CmdTestScripts(CmdTestBase):
 		shutil.copy2(os.path.join(refdir,'ticker-btc.json'),self.tmpdir)
 		return 'ok'
 
-	def ticker(self,args=[],expect_list=None,cached=True):
+	def ticker(self, args=[], expect_list=None, cached=True, exit_val=None):
 		t = self.spawn(
 			f'mmnode-ticker',
-			(['--cached-data'] if cached else []) + self.ticker_args + args )
+			(['--cached-data'] if cached else []) + self.ticker_args + args,
+			exit_val = exit_val)
 		if expect_list:
 			t.match_expect_list(expect_list)
 		return t
@@ -120,12 +121,11 @@ class CmdTestScripts(CmdTestBase):
 		return t
 
 	def ticker2(self):
-		t = self.ticker(cached=False)
+		t = self.ticker(cached=False, exit_val=3)
 		if not cfg.skipping_deps:
 			t.expect('Creating')
 			t.expect('Creating')
-		ret = t.expect(['proxy host could not be resolved','ProxyError'])
-		t.req_exit_val = 3 if ret == 0 else 1
+		t.expect(['proxy host could not be resolved', 'ProxyError'])
 		return t
 
 	def ticker3(self):
@@ -165,9 +165,8 @@ class CmdTestScripts(CmdTestBase):
 		return t
 
 	def ticker6(self):
-		t = self.ticker( ['--wide','--portfolio'], None )
+		t = self.ticker(['--wide','--portfolio'], None, exit_val=1)
 		t.expect('No portfolio')
-		t.req_exit_val = 1
 		return t
 
 	def ticker7(self): # demo

+ 17 - 9
test/cmdtest_py_d/ct_regtest.py

@@ -39,6 +39,8 @@ class CmdTestRegtest(CmdTestBase):
 	tmpdir_nums = [1]
 	color = True
 	deterministic = False
+	bdb_wallet = True
+
 	cmd_group_in = (
 		('setup',                       'regtest mode setup'),
 		('subgroup.netrate',            []),
@@ -111,20 +113,27 @@ class CmdTestRegtest(CmdTestBase):
 			die(2,'--testnet and --regtest options incompatible with regtest test suite')
 		self.proto = init_proto( cfg, self.proto.coin, network='regtest', need_amt=True )
 		self.addrs = gen_addrs(self.proto,'regtest',[1,2,3,4,5])
-		self.regtest = MMGenRegtest(cfg,self.proto.coin)
+
+		self.use_bdb_wallet = self.bdb_wallet or self.proto.coin != 'BTC'
+		self.regtest = MMGenRegtest(cfg, self.proto.coin, bdb_wallet=self.use_bdb_wallet)
 
 	def setup(self):
 		stop_test_daemons(self.proto.network_id,force=True,remove_datadir=True)
 		from shutil import rmtree
-		try: rmtree(joinpath(self.tr.data_dir,'regtest'))
-		except: pass
-		t = self.spawn('mmgen-regtest',['-n','setup'])
+		try:
+			rmtree(joinpath(self.tr.data_dir,'regtest'))
+		except:
+			pass
+		t = self.spawn(
+			'mmgen-regtest',
+			(['--bdb-wallet'] if self.use_bdb_wallet else [])
+			+ ['--setup-no-stop-daemon', 'setup'])
 		for s in ('Starting','Creating','Creating','Creating','Mined','Setup complete'):
 			t.expect(s)
 		return t
 
-	def netrate(self,add_args,expect_str):
-		t = self.spawn( 'mmnode-netrate', args1 + add_args )
+	def netrate(self, add_args, expect_str, exit_val=None):
+		t = self.spawn('mmnode-netrate', args1 + add_args, exit_val=exit_val)
 		t.expect(expect_str,regex=True)
 		return t
 
@@ -132,11 +141,10 @@ class CmdTestRegtest(CmdTestBase):
 		return self.netrate( ['--help'], 'USAGE:.*' )
 
 	def netrate2(self):
-		t = self.netrate( [], r'sent:.*' )
+		t = self.netrate([], r'sent:.*', exit_val=-15)
 		t.kill(15)
 		if sys.platform == 'win32':
 			return 'ok'
-		t.req_exit_val = -15
 		return t
 
 	def halving_calculator(self,add_args,expect_list):
@@ -326,7 +334,7 @@ class CmdTestRegtest(CmdTestBase):
 			return await do_tx(
 				[{ 'txid': tx_input['txid'], 'vout': 0 }],
 				outputs,
-				r.miner_wif )
+				await r.miner_wif)
 
 		async def do_tx2(tx,pairno):
 			fee = fees[pairno]