Ejemplo n.º 1
0
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")
    })
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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()