|
@@ -4,14 +4,65 @@
|
|
test.unit_tests_d.ut_misc: miscellaneous unit tests for the MMGen suite
|
|
test.unit_tests_d.ut_misc: miscellaneous unit tests for the MMGen suite
|
|
"""
|
|
"""
|
|
|
|
|
|
-import re
|
|
|
|
|
|
+import re, time
|
|
from collections import namedtuple
|
|
from collections import namedtuple
|
|
|
|
|
|
-from mmgen.color import yellow, blue
|
|
|
|
|
|
+from mmgen.color import yellow, blue, brown
|
|
from ..include.common import vmsg
|
|
from ..include.common import vmsg
|
|
|
|
|
|
class unit_tests:
|
|
class unit_tests:
|
|
|
|
|
|
|
|
+ def format_elapsed_hr(self, name, ut):
|
|
|
|
+ from mmgen.util2 import format_elapsed_hr
|
|
|
|
+
|
|
|
|
+ vectors = (
|
|
|
|
+ # t now rel_now show_secs out
|
|
|
|
+ (1, 1, False, False, '0 minutes'),
|
|
|
|
+ (1, 1, True, False, 'just now'),
|
|
|
|
+ (0, -2, True, False, 'just now'),
|
|
|
|
+ (0, -62, True, False, '1 minute in the future'),
|
|
|
|
+ (0, -62, False, False, '1 minute (negative elapsed)'),
|
|
|
|
+ (0, 7, False, False, '0 minutes'),
|
|
|
|
+ (0, 7, True, False, 'just now'),
|
|
|
|
+ (0, 60, True, False, '1 minute ago'),
|
|
|
|
+ (0, 67, True, False, '1 minute ago'),
|
|
|
|
+ (0, 7200, True, False, '2 hours ago'),
|
|
|
|
+ (0, 3600 + 180 + 1, True, False, '1 hour 3 minutes ago'),
|
|
|
|
+ (0, 3600*27 + 180 + 7, True, False, '1 day 3 hours 3 minutes ago'),
|
|
|
|
+ (0, 3600*24*367 + 180 + 7, True, False, '367 days 3 minutes ago'),
|
|
|
|
+
|
|
|
|
+ (1, 1, False, True, '0 seconds'),
|
|
|
|
+ (1, 1, True, True, 'just now'),
|
|
|
|
+ (0, -2, True, True, '2 seconds in the future'),
|
|
|
|
+ (0, -62, True, True, '1 minute 2 seconds in the future'),
|
|
|
|
+ (0, -62, False, True, '1 minute 2 seconds (negative elapsed)'),
|
|
|
|
+ (0, 7, False, True, '7 seconds'),
|
|
|
|
+ (0, 7, True, True, '7 seconds ago'),
|
|
|
|
+ (0, 60, False, True, '1 minute'),
|
|
|
|
+ (0, 67, False, True, '1 minute 7 seconds'),
|
|
|
|
+ (0, 7200, False, True, '2 hours'),
|
|
|
|
+ (0, 3600 + 180 + 1, False, True, '1 hour 3 minutes 1 second'),
|
|
|
|
+ (0, 3600*27 + 180 + 7, False, True, '1 day 3 hours 3 minutes 7 seconds'),
|
|
|
|
+ (0, 3600*24*367 + 180 + 7, True, True, '367 days 3 minutes 7 seconds ago'),
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ fs = ' {:7} {:9} {:<8} {}'
|
|
|
|
+ vmsg(brown(' vectors:'))
|
|
|
|
+ vmsg(fs.format('REL_NOW', 'SHOW_SECS', 'ELAPSED', 'OUTPUT'))
|
|
|
|
+ for (t, now, rel_now, show_secs, out_chk) in vectors:
|
|
|
|
+ out = format_elapsed_hr(t, now, rel_now=rel_now, show_secs=show_secs)
|
|
|
|
+ assert out == out_chk, f'{out} != {out_chk}'
|
|
|
|
+ vmsg(fs.format(repr(rel_now), repr(show_secs), now-t, out))
|
|
|
|
+
|
|
|
|
+ vmsg(brown(' real time:'))
|
|
|
|
+ start = time.time() - 3600 - 127
|
|
|
|
+ ret = format_elapsed_hr(start) # test old default behavior
|
|
|
|
+ vmsg(f' {3600 - 127:<8} {ret}')
|
|
|
|
+ ret = format_elapsed_hr(start, show_secs=True)
|
|
|
|
+ vmsg(f' {3600 - 127:<8} {ret}')
|
|
|
|
+
|
|
|
|
+ return True
|
|
|
|
+
|
|
def xmrwallet_uarg_info(self,name,ut): # WIP
|
|
def xmrwallet_uarg_info(self,name,ut): # WIP
|
|
from mmgen.xmrwallet import xmrwallet_uarg_info as uarg_info
|
|
from mmgen.xmrwallet import xmrwallet_uarg_info as uarg_info
|
|
vs = namedtuple('vector_data', ['text', 'groups'])
|
|
vs = namedtuple('vector_data', ['text', 'groups'])
|