Browse Source

load dev tools only when `MMGEN_DEVTOOLS` env var is set

The MMGen Project 1 year ago
parent
commit
6c249dec5b

+ 2 - 0
mmgen/cfg.py

@@ -156,6 +156,7 @@ class Config(Lockable):
 	debug_addrlist       = False
 	debug_addrlist       = False
 	debug_subseed        = False
 	debug_subseed        = False
 	debug_tw             = False
 	debug_tw             = False
+	devtools             = False
 
 
 	# rpc:
 	# rpc:
 	rpc_host                   = ''
 	rpc_host                   = ''
@@ -303,6 +304,7 @@ class Config(Lockable):
 		'MMGEN_DEBUG_TW',
 		'MMGEN_DEBUG_TW',
 		'MMGEN_DEBUG_UTF8',
 		'MMGEN_DEBUG_UTF8',
 		'MMGEN_DEBUG_SUBSEED',
 		'MMGEN_DEBUG_SUBSEED',
+		'MMGEN_DEVTOOLS',
 		'MMGEN_FORCE_256_COLOR',
 		'MMGEN_FORCE_256_COLOR',
 		'MMGEN_HOLD_PROTECT_DISABLE',
 		'MMGEN_HOLD_PROTECT_DISABLE',
 		'MMGEN_QUIET',
 		'MMGEN_QUIET',

+ 1 - 1
mmgen/data/version

@@ -1 +1 @@
-14.0.dev4
+14.0.dev5

+ 3 - 2
scripts/exec_wrapper.py

@@ -121,8 +121,9 @@ if exec_wrapper_os.getenv('MMGEN_TRACEMALLOC'):
 	exec_wrapper_tracemalloc_setup()
 	exec_wrapper_tracemalloc_setup()
 
 
 # import mmgen mods only after sys.path[0] is set to overlay root!
 # import mmgen mods only after sys.path[0] is set to overlay root!
-from mmgen.devinit import init_dev as exec_wrapper_init_dev
-exec_wrapper_init_dev()
+if exec_wrapper_os.getenv('MMGEN_DEVTOOLS'):
+	from mmgen.devinit import init_dev as exec_wrapper_init_dev
+	exec_wrapper_init_dev()
 
 
 exec_wrapper_tstart = exec_wrapper_time.time()
 exec_wrapper_tstart = exec_wrapper_time.time()
 
 

+ 4 - 0
test/include/test_init.py

@@ -24,3 +24,7 @@ os.environ['PYTHONPATH'] = overlay_root
 
 
 if 'TMUX' in os.environ:
 if 'TMUX' in os.environ:
 	del os.environ['TMUX']
 	del os.environ['TMUX']
+
+if os.getenv('MMGEN_DEVTOOLS'):
+	from mmgen.devinit import init_dev
+	init_dev()

+ 5 - 2
test/objtest.py

@@ -24,8 +24,11 @@ import sys,os,re
 
 
 import include.test_init
 import include.test_init
 
 
-from mmgen.devinit import init_dev
-init_dev()
+# for objtest, violate MMGen Project best practices and allow use of the dev tools
+# in production code:
+if not os.getenv('MMGEN_DEVTOOLS'):
+	from mmgen.devinit import init_dev
+	init_dev()
 
 
 # Import these _after_ local path's been added to sys.path
 # Import these _after_ local path's been added to sys.path
 from mmgen.common import *
 from mmgen.common import *

+ 0 - 3
test/test.py

@@ -94,9 +94,6 @@ else:
 
 
 from mmgen.common import *
 from mmgen.common import *
 
 
-from mmgen.devinit import init_dev
-init_dev()
-
 from test.include.common import set_globals,test_py_log_fn,test_py_error_fn
 from test.include.common import set_globals,test_py_log_fn,test_py_error_fn
 
 
 try:
 try:

+ 5 - 2
test/unit_tests.py

@@ -24,8 +24,11 @@ import sys,os,time,importlib,platform
 
 
 import include.test_init
 import include.test_init
 
 
-from mmgen.devinit import init_dev
-init_dev()
+# for the unit tests, violate MMGen Project best practices and allow use of the dev tools
+# in production code:
+if not os.getenv('MMGEN_DEVTOOLS'):
+	from mmgen.devinit import init_dev
+	init_dev()
 
 
 from mmgen.common import *
 from mmgen.common import *
 from test.include.common import set_globals,end_msg
 from test.include.common import set_globals,end_msg

+ 0 - 1
test/unit_tests_d/ut_devtools.py

@@ -5,7 +5,6 @@ test.unit_tests_d.ut_devtools: devtools unit tests for the MMGen suite
 """
 """
 
 
 import os,json
 import os,json
-from mmgen.devtools import *
 from mmgen.util import msg
 from mmgen.util import msg
 from . import unit_tests_base
 from . import unit_tests_base