def setup_function(_): # set the test_libraries path temporarily to the correct value global_config.set_config_value("LIBRARY_RECOVERY_MODE", True) testing_utils.rewind_and_set_libraries({ "unit_test_state_machines": join(testing_utils.TEST_ASSETS_PATH, "unit_test_state_machines") })
def initialize_environment_core(core_config=None, libraries=None, delete=False): from rafcon.core.config import global_config import rafcon.core.singleton if rafcon.core.singleton.state_machine_manager.state_machines: raise EnvironmentError("The environment has to have an empty StateMachineManager but here the following " "state machines are still existing: \n{0}" "".format(rafcon.core.singleton.state_machine_manager.state_machines)) test_multithreading_lock.acquire() # preserve LIBRARY_PATHS if handed with dict -> can be already be the dict of the global_config object if libraries is None and core_config is not None and 'LIBRARY_PATHS' in core_config: libraries = copy.deepcopy(core_config['LIBRARY_PATHS']) # initialize global core config if isinstance(core_config, tuple) and exists(join(core_config[1], core_config[0])): global_config.load(core_config[0], core_config[1]) if global_config.get_config_value('LIBRARY_PATHS') is not None: libraries = copy.deepcopy(global_config.get_config_value('LIBRARY_PATHS')) else: global_config.load(path=RAFCON_TEMP_PATH_CONFIGS) if isinstance(core_config, dict): for key, value in core_config.items(): global_config.set_config_value(key, value) rewind_and_set_libraries(libraries=libraries)
def rewind_and_set_libraries(libraries=None): """ Clear libraries, set new libraries and secure default libraries set.""" from rafcon.core.config import global_config import rafcon.core.singleton if libraries is None: libraries = {} remove_all_libraries(init_library_manager=False) if not isinstance(libraries, dict): libraries = {} if "generic" not in libraries: libraries["generic"] = join(RAFCON_SHARED_LIBRARY_PATH, 'generic') global_config.set_config_value("LIBRARY_PATHS", libraries) environ['RAFCON_LIB_PATH'] = RAFCON_SHARED_LIBRARY_PATH rafcon.core.singleton.library_manager.initialize()