def test_build_deactivate_shlvl_1(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) deactivate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'deactivate.d')) deactivate_d_1 = join(deactivate_d_dir, 'see-me-deactivate.sh') deactivate_d_2 = join(deactivate_d_dir, 'dont-see-me.bat') touch(join(deactivate_d_1)) touch(join(deactivate_d_2)) with env_var('CONDA_SHLVL', '1'): with env_var('CONDA_PREFIX', td): activator = Activator('posix') original_path = tuple(activator._get_starting_path_list()) builder = activator.build_deactivate() assert builder['unset_vars'] == ( 'CONDA_PREFIX', 'CONDA_DEFAULT_ENV', 'CONDA_PYTHON_EXE', 'CONDA_PROMPT_MODIFIER', ) new_path = activator.pathsep_join(activator.path_conversion(original_path)) assert builder['set_vars'] == { 'PATH': new_path, 'CONDA_SHLVL': 0, } assert builder['activate_scripts'] == () assert builder['deactivate_scripts'] == (activator.path_conversion(deactivate_d_1),)
def test_build_deactivate_shlvl_2(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) deactivate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'deactivate.d')) deactivate_d_1 = join(deactivate_d_dir, 'see-me-deactivate.sh') deactivate_d_2 = join(deactivate_d_dir, 'dont-see-me.bat') touch(join(deactivate_d_1)) touch(join(deactivate_d_2)) old_prefix = join(td, 'old') activate_d_dir = mkdir_p(join(old_prefix, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me-activate.sh') activate_d_2 = join(activate_d_dir, 'dont-see-me.bat') touch(join(activate_d_1)) touch(join(activate_d_2)) with env_var('CONDA_SHLVL', '2'): with env_var('CONDA_PREFIX_1', old_prefix): with env_var('CONDA_PREFIX', td): activator = Activator('posix') original_path = tuple(activator._get_starting_path_list()) builder = activator.build_deactivate() assert builder['unset_vars'] == ('CONDA_PREFIX_1',) new_path = activator.pathsep_join(activator.path_conversion(original_path)) conda_prompt_modifier = "(%s) " % old_prefix ps1 = conda_prompt_modifier + os.environ.get('PS1', '') set_vars = { 'PS1': ps1, } export_vars = { 'PATH': new_path, 'CONDA_SHLVL': 1, 'CONDA_PREFIX': old_prefix, 'CONDA_DEFAULT_ENV': old_prefix, 'CONDA_PROMPT_MODIFIER': conda_prompt_modifier, } assert builder['set_vars'] == set_vars assert builder['export_vars'] == export_vars assert builder['activate_scripts'] == (activator.path_conversion(activate_d_1),) assert builder['deactivate_scripts'] == (activator.path_conversion(deactivate_d_1),)