|
@@ -20,9 +20,9 @@
|
|
common.py: Shared routines and data for the test.py test suite
|
|
common.py: Shared routines and data for the test.py test suite
|
|
"""
|
|
"""
|
|
|
|
|
|
-import os,time
|
|
|
|
|
|
+import os
|
|
from mmgen.common import *
|
|
from mmgen.common import *
|
|
-from ..common import *
|
|
|
|
|
|
+from ..include.common import *
|
|
|
|
|
|
log_file = 'test.py.log'
|
|
log_file = 'test.py.log'
|
|
|
|
|
|
@@ -113,30 +113,29 @@ def get_file_with_ext(tdir,ext,delete=True,no_dot=False,return_list=False,delete
|
|
else:
|
|
else:
|
|
return flist[0]
|
|
return flist[0]
|
|
|
|
|
|
-labels = [
|
|
|
|
- "Automotive",
|
|
|
|
- "Travel expenses",
|
|
|
|
- "Healthcare",
|
|
|
|
- tx_label_jp[:40],
|
|
|
|
- tx_label_zh[:40],
|
|
|
|
- "Alice's allowance",
|
|
|
|
- "Bob's bequest",
|
|
|
|
- "House purchase",
|
|
|
|
- "Real estate fund",
|
|
|
|
- "Job 1",
|
|
|
|
- "XYZ Corp.",
|
|
|
|
- "Eddie's endowment",
|
|
|
|
- "Emergency fund",
|
|
|
|
- "Real estate fund",
|
|
|
|
- "Ian's inheritance",
|
|
|
|
- "",
|
|
|
|
- "Rainy day",
|
|
|
|
- "Fred's funds",
|
|
|
|
- "Job 2",
|
|
|
|
- "Carl's capital",
|
|
|
|
-]
|
|
|
|
-
|
|
|
|
def get_label(do_shuffle=False):
|
|
def get_label(do_shuffle=False):
|
|
|
|
+ labels = [
|
|
|
|
+ "Automotive",
|
|
|
|
+ "Travel expenses",
|
|
|
|
+ "Healthcare",
|
|
|
|
+ tx_label_jp[:40],
|
|
|
|
+ tx_label_zh[:40],
|
|
|
|
+ "Alice's allowance",
|
|
|
|
+ "Bob's bequest",
|
|
|
|
+ "House purchase",
|
|
|
|
+ "Real estate fund",
|
|
|
|
+ "Job 1",
|
|
|
|
+ "XYZ Corp.",
|
|
|
|
+ "Eddie's endowment",
|
|
|
|
+ "Emergency fund",
|
|
|
|
+ "Real estate fund",
|
|
|
|
+ "Ian's inheritance",
|
|
|
|
+ "",
|
|
|
|
+ "Rainy day",
|
|
|
|
+ "Fred's funds",
|
|
|
|
+ "Job 2",
|
|
|
|
+ "Carl's capital",
|
|
|
|
+ ]
|
|
from random import shuffle
|
|
from random import shuffle
|
|
global label_iter
|
|
global label_iter
|
|
try:
|
|
try:
|
|
@@ -145,60 +144,3 @@ def get_label(do_shuffle=False):
|
|
if do_shuffle: shuffle(labels)
|
|
if do_shuffle: shuffle(labels)
|
|
label_iter = iter(labels)
|
|
label_iter = iter(labels)
|
|
return next(label_iter)
|
|
return next(label_iter)
|
|
-
|
|
|
|
-def stealth_mnemonic_entry(t,mne,mn,entry_mode,pad_entry=False):
|
|
|
|
-
|
|
|
|
- def pad_mnemonic(mn,ss_len):
|
|
|
|
- def get_pad_chars(n):
|
|
|
|
- ret = ''
|
|
|
|
- for i in range(n):
|
|
|
|
- m = int.from_bytes(os.urandom(1),'big') % 32
|
|
|
|
- ret += r'123579!@#$%^&*()_+-=[]{}"?/,.<>|'[m]
|
|
|
|
- return ret
|
|
|
|
- ret = []
|
|
|
|
- for w in mn:
|
|
|
|
- if entry_mode == 'short':
|
|
|
|
- w = w[:ss_len]
|
|
|
|
- if len(w) < ss_len:
|
|
|
|
- npc = 3
|
|
|
|
- w = w[0] + get_pad_chars(npc) + w[1:]
|
|
|
|
- if pad_entry:
|
|
|
|
- w += '%' * (1 + mne.em.pad_max - npc)
|
|
|
|
- else:
|
|
|
|
- w += '\n'
|
|
|
|
- else:
|
|
|
|
- w = get_pad_chars(1) + w[0] + get_pad_chars(1) + w[1:]
|
|
|
|
- elif len(w) > (3,5)[ss_len==12]:
|
|
|
|
- w = w + '\n'
|
|
|
|
- else:
|
|
|
|
- w = (
|
|
|
|
- get_pad_chars(2 if randbool() and entry_mode != 'short' else 0)
|
|
|
|
- + w[0] + get_pad_chars(2) + w[1:]
|
|
|
|
- + get_pad_chars(9) )
|
|
|
|
- w = w[:ss_len+1]
|
|
|
|
- ret.append(w)
|
|
|
|
- return ret
|
|
|
|
-
|
|
|
|
- if entry_mode == 'fixed':
|
|
|
|
- mn = ['bkr'] + mn[:5] + ['nfb'] + mn[5:]
|
|
|
|
- ssl = mne.uniq_ss_len
|
|
|
|
- mn = [w[:ssl] if len(w) >= ssl else (w[0] + 'z\b{}'.format('#'*(ssl-len(w))) + w[1:]) for w in mn]
|
|
|
|
- elif entry_mode in ('full','short'):
|
|
|
|
- mn = ['fzr'] + mn[:5] + ['grd','grdbxm'] + mn[5:]
|
|
|
|
- mn = pad_mnemonic(mn,mne.em.ss_len)
|
|
|
|
- mn[10] = '@#$%*##' + mn[10]
|
|
|
|
-
|
|
|
|
- wnum = 1
|
|
|
|
- p_ok,p_err = mne.word_prompt
|
|
|
|
- for w in mn:
|
|
|
|
- ret = t.expect((p_ok.format(wnum),p_err.format(wnum-1)))
|
|
|
|
- if ret == 0:
|
|
|
|
- wnum += 1
|
|
|
|
- for j in range(len(w)):
|
|
|
|
- t.send(w[j])
|
|
|
|
- time.sleep(0.005)
|
|
|
|
-
|
|
|
|
-def user_dieroll_entry(t,data):
|
|
|
|
- for s in data:
|
|
|
|
- t.expect(r'Enter die roll #.+: ',s,regex=True)
|
|
|
|
- time.sleep(0.005)
|
|
|