diff --git a/scripts/functional_tests.py b/scripts/functional_tests.py index 7ec71a99d5e..dd5b7bad2fa 100644 --- a/scripts/functional_tests.py +++ b/scripts/functional_tests.py @@ -94,7 +94,6 @@ def main(): datatypes_conf_override = None use_test_file_dir = not (testing_migrated_tools or testing_installed_tools) - galaxy_config = driver_util.setup_galaxy_config(use_test_file_dir=use_test_file_dir) if not use_test_file_dir: # Store a jsonified dictionary of tool_id : GALAXY_TEST_FILE_DIR pairs. galaxy_tool_shed_test_file = 'shed_tools_dict' @@ -132,7 +131,6 @@ def main(): default_data_manager_config = data_manager_config data_manager_config_file = "%s,test/functional/tools/sample_data_manager_conf.xml" % default_data_manager_config shed_tool_data_table_config = 'config/shed_tool_data_table_conf.xml' - tool_dependency_dir = os.environ.get( 'GALAXY_TOOL_DEPENDENCY_DIR', None ) galaxy_test_tmp_dir = os.environ.get( 'GALAXY_TEST_TMP_DIR', None ) if galaxy_test_tmp_dir is None: galaxy_test_tmp_dir = tempfile.mkdtemp() @@ -146,6 +144,7 @@ def main(): if start_server: tempdir = tempfile.mkdtemp( dir=galaxy_test_tmp_dir ) + galaxy_config = driver_util.setup_galaxy_config(tempdir, use_test_file_dir=use_test_file_dir) # Configure the database path. galaxy_db_path = driver_util.database_files_path(tempdir) @@ -199,8 +198,6 @@ def main(): if not database_connection.startswith( 'sqlite://' ): kwargs[ 'database_engine_option_max_overflow' ] = '20' kwargs[ 'database_engine_option_pool_size' ] = '10' - if tool_dependency_dir is not None: - kwargs[ 'tool_dependency_dir' ] = tool_dependency_dir if datatypes_conf_override: kwargs[ 'datatypes_config_file' ] = datatypes_conf_override # If the user has passed in a path for the .ini file, do not overwrite it. diff --git a/test/base/driver_util.py b/test/base/driver_util.py index 1b61b21be66..c2bdc316d15 100644 --- a/test/base/driver_util.py +++ b/test/base/driver_util.py @@ -66,7 +66,7 @@ def build_logger(): return log -def setup_galaxy_config(use_test_file_dir=False): +def setup_galaxy_config(tmpdir, use_test_file_dir=False): """Setup environment and build config for test Galaxy instance.""" if use_test_file_dir: galaxy_test_file_dir = os.environ.get('GALAXY_TEST_FILE_DIR', GALAXY_TEST_FILE_DIR) @@ -83,7 +83,10 @@ def setup_galaxy_config(use_test_file_dir=False): else: user_library_import_dir = None library_import_dir = None - return dict( + tool_dependency_dir = os.environ.get('GALAXY_TOOL_DEPENDENCY_DIR', None) + if tool_dependency_dir is None: + tool_dependency_dir = tempfile.mkdtemp(dir=tmpdir, prefix="tool_dependencies") + config = dict( admin_users='test@bx.psu.edu', allow_library_path_paste=True, allow_user_creation=True, @@ -102,6 +105,12 @@ def setup_galaxy_config(use_test_file_dir=False): use_heartbeat=False, user_library_import_dir=user_library_import_dir, ) + if tool_dependency_dir: + config["tool_dependency_dir"] = tool_dependency_dir + # Used by shed's twill dependency stuff - todo read from + # Galaxy's config API. + os.environ["GALAXY_TEST_TOOL_DEPENDENCY_DIR"] = tool_dependency_dir + return config def nose_config_and_run( argv=None, env=None, ignore_files=[], plugins=None ): diff --git a/test/tool_shed/functional_tests.py b/test/tool_shed/functional_tests.py index 7e004888513..9864fd55ab6 100644 --- a/test/tool_shed/functional_tests.py +++ b/test/tool_shed/functional_tests.py @@ -86,8 +86,6 @@ def main(): galaxy_tempfiles = tempfile.mkdtemp( dir=tool_shed_test_tmp_dir ) galaxy_shed_tool_path = tempfile.mkdtemp( dir=tool_shed_test_tmp_dir ) galaxy_migrated_tool_path = tempfile.mkdtemp( dir=tool_shed_test_tmp_dir ) - galaxy_tool_dependency_dir = tempfile.mkdtemp( dir=tool_shed_test_tmp_dir ) - os.environ[ 'GALAXY_TEST_TOOL_DEPENDENCY_DIR' ] = galaxy_tool_dependency_dir hgweb_config_dir = hgweb_config_file_path os.environ[ 'TEST_HG_WEB_CONFIG_DIR' ] = hgweb_config_dir print "Directory location for hgweb.config:", hgweb_config_dir @@ -188,11 +186,10 @@ def main(): shed_tool_data_table_config=shed_tool_data_table_conf_file, shed_tool_path=galaxy_shed_tool_path, tool_data_path=tool_data_path, - tool_dependency_dir=galaxy_tool_dependency_dir, tool_config_file=[ galaxy_tool_conf_file, galaxy_shed_tool_conf_file ], tool_sheds_config_file=galaxy_tool_sheds_conf_file, tool_data_table_config_path=galaxy_tool_data_table_conf_file ) - kwargs.setup_galaxy_config(use_test_file_dir=False) + kwargs.update(driver_util.setup_galaxy_config(tool_shed_test_tmp_dir, use_test_file_dir=False)) kwargs.update(install_database_conf) # ---- Build Galaxy Application -------------------------------------------------- if not galaxy_database_connection.startswith( 'sqlite://' ):