forked from ungleich-public/cdist
always setup __debug if debug is set
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
e72ad1f7cb
commit
5443db97c4
2 changed files with 49 additions and 23 deletions
|
@ -1,11 +1,43 @@
|
||||||
Tests needed:
|
Tests needed for config_install:
|
||||||
|
|
||||||
- Fail if cache_dir from previous run cannot be deleted
|
__init__():
|
||||||
- Fail if cache_dir cannot be created from current out_dir
|
- sets up env: __target_host
|
||||||
- transfer_type_explorers: Explorers are not transferred twice
|
|
||||||
- transfer_type_explorers: No transfer tried if there are no type_explorers
|
cleanup()
|
||||||
|
- Fail if cache_dir from previous run cannot be deleted
|
||||||
|
- Fail if cache_dir cannot be created from current out_dir
|
||||||
|
|
||||||
|
filter()
|
||||||
|
- ensure logformat is changed: target host is prefixed:
|
||||||
|
LOGLEVEL: target_host: MESSAGE
|
||||||
|
|
||||||
|
run_initial_manifest():
|
||||||
|
- parameter is actually used (from __init__)
|
||||||
|
- ensure changing the manifest actually runs a different manifest
|
||||||
|
-> give ConfigInstall Constructor different manifest
|
||||||
|
-> different manifest is executed.
|
||||||
|
- test all submitted (from core to type manifest) variables:
|
||||||
|
- ENVIRONMENT
|
||||||
|
- they are set
|
||||||
|
- they contain the correct values
|
||||||
|
|
||||||
|
run_type_manifest():
|
||||||
|
- test all submitted (from core to type manifest) variables:
|
||||||
|
- ENVIRONMENT
|
||||||
|
- they are set
|
||||||
|
- they contain the correct values
|
||||||
|
run_manifest():
|
||||||
|
- test all submitted variables:
|
||||||
|
- ENVIRONMENT
|
||||||
|
- including __debug, if debug
|
||||||
|
- they are set
|
||||||
|
- they contain the correct values
|
||||||
|
- does $require work?
|
||||||
|
|
||||||
|
transfer_type_explorers():
|
||||||
|
- Explorers are not transferred twice
|
||||||
|
- No transfer tried if there are no type_explorers
|
||||||
|
|
||||||
- does $require work?
|
|
||||||
- $whatever should fail if there is no global explorer directory
|
- $whatever should fail if there is no global explorer directory
|
||||||
- emulator may only be called with __ as prefix - fail otherwise!
|
- emulator may only be called with __ as prefix - fail otherwise!
|
||||||
|
|
||||||
|
|
|
@ -49,20 +49,16 @@ class ConfigInstall:
|
||||||
|
|
||||||
self.debug = debug
|
self.debug = debug
|
||||||
|
|
||||||
# Required for testing
|
# Only required for testing
|
||||||
self.exec_path = exec_path
|
self.exec_path = exec_path
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
log.addFilter(self)
|
log.addFilter(self)
|
||||||
|
|
||||||
# Base and Temp Base
|
# Base and Temp Base
|
||||||
if base_path:
|
self.base_path = (base_path or
|
||||||
self.base_path = base_path
|
self.base_path = os.path.abspath(os.path.join(
|
||||||
else:
|
os.path.dirname(__file__), os.pardir, os.pardir))
|
||||||
self.base_path = os.path.abspath(
|
|
||||||
os.path.join(os.path.dirname(__file__),
|
|
||||||
os.pardir,
|
|
||||||
os.pardir))
|
|
||||||
|
|
||||||
# Local input
|
# Local input
|
||||||
self.cache_path = os.path.join(self.base_path, "cache",
|
self.cache_path = os.path.join(self.base_path, "cache",
|
||||||
|
@ -74,10 +70,8 @@ class ConfigInstall:
|
||||||
self.type_base_path = os.path.join(self.conf_path, "type")
|
self.type_base_path = os.path.join(self.conf_path, "type")
|
||||||
self.lib_path = os.path.join(self.base_path, "lib")
|
self.lib_path = os.path.join(self.base_path, "lib")
|
||||||
|
|
||||||
if initial_manifest:
|
self.initial_manifest = (initial_manifest or
|
||||||
self.initial_manifest = initial_manifest
|
os.path.join(self.manifest_path, "init"))
|
||||||
else:
|
|
||||||
self.initial_manifest = os.path.join(self.manifest_path, "init")
|
|
||||||
|
|
||||||
# Local output
|
# Local output
|
||||||
if '__cdist_out_dir' in os.environ:
|
if '__cdist_out_dir' in os.environ:
|
||||||
|
@ -108,7 +102,6 @@ class ConfigInstall:
|
||||||
self.__init_remote_paths()
|
self.__init_remote_paths()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def __init_remote_paths(self):
|
def __init_remote_paths(self):
|
||||||
"""Initialise remote directory structure"""
|
"""Initialise remote directory structure"""
|
||||||
self.remove_remote_path(self.remote_base_path)
|
self.remove_remote_path(self.remote_base_path)
|
||||||
|
@ -122,6 +115,7 @@ class ConfigInstall:
|
||||||
if not os.path.isdir(self.base_path):
|
if not os.path.isdir(self.base_path):
|
||||||
os.mkdir(self.base_path)
|
os.mkdir(self.base_path)
|
||||||
|
|
||||||
|
# FIXME: raise more beautiful exception / Steven: handle exception
|
||||||
os.mkdir(self.out_path)
|
os.mkdir(self.out_path)
|
||||||
os.mkdir(self.global_explorer_out_path)
|
os.mkdir(self.global_explorer_out_path)
|
||||||
os.mkdir(self.bin_path)
|
os.mkdir(self.bin_path)
|
||||||
|
@ -129,6 +123,9 @@ class ConfigInstall:
|
||||||
def __init_env(self):
|
def __init_env(self):
|
||||||
"""Environment usable for other stuff"""
|
"""Environment usable for other stuff"""
|
||||||
os.environ['__target_host'] = self.target_host
|
os.environ['__target_host'] = self.target_host
|
||||||
|
if self.debug:
|
||||||
|
os.environ['__debug'] = "yes"
|
||||||
|
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
# Do not use in __del__:
|
# Do not use in __del__:
|
||||||
|
@ -137,6 +134,7 @@ class ConfigInstall:
|
||||||
# or in the process of being torn down (e.g. the import machinery shutting down)"
|
# or in the process of being torn down (e.g. the import machinery shutting down)"
|
||||||
#
|
#
|
||||||
log.debug("Saving " + self.out_path + " to " + self.cache_path)
|
log.debug("Saving " + self.out_path + " to " + self.cache_path)
|
||||||
|
# FIXME: raise more beautiful exception / Steven: handle exception
|
||||||
# Remove previous cache
|
# Remove previous cache
|
||||||
if os.path.exists(self.cache_path):
|
if os.path.exists(self.cache_path):
|
||||||
shutil.rmtree(self.cache_path)
|
shutil.rmtree(self.cache_path)
|
||||||
|
@ -182,10 +180,6 @@ class ConfigInstall:
|
||||||
env['__target_host'] = self.target_host
|
env['__target_host'] = self.target_host
|
||||||
env['__global'] = self.out_path
|
env['__global'] = self.out_path
|
||||||
|
|
||||||
# Submit debug flag to manifest, can be used by emulator and types
|
|
||||||
if self.debug:
|
|
||||||
env['__debug'] = "yes"
|
|
||||||
|
|
||||||
# Required for recording source in emulator
|
# Required for recording source in emulator
|
||||||
env['__cdist_manifest'] = manifest_path
|
env['__cdist_manifest'] = manifest_path
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue