def test_PS1_no_changeps1(self): with env_var("CONDA_CHANGEPS1", "no", reset_context): activator = Activator('posix') assert activator._prompt_modifier('root') == '' instructions = activator.build_activate("root") assert instructions['set_vars']['CONDA_PROMPT_MODIFIER'] == ''
def test_activate_same_environment(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) activate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me.sh') activate_d_2 = join(activate_d_dir, 'dont-see-me.bat') touch(join(activate_d_1)) touch(join(activate_d_2)) old_prefix = td deactivate_d_dir = mkdir_p(join(old_prefix, 'etc', 'conda', 'deactivate.d')) deactivate_d_1 = join(deactivate_d_dir, 'see-me.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', old_prefix): activator = Activator('posix') builder = activator.build_activate(td) set_vars = { 'CONDA_PROMPT_MODIFIER': "(%s) " % td, 'CONDA_SHLVL': 1, } assert builder['unset_vars'] == () assert builder['set_vars'] == set_vars assert builder['activate_scripts'] == (activator.path_conversion(activate_d_1),) assert builder['deactivate_scripts'] == (activator.path_conversion(deactivate_d_1),)
def test_build_activate_shlvl_2(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) activate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me.sh') activate_d_2 = join(activate_d_dir, 'dont-see-me.bat') touch(join(activate_d_1)) touch(join(activate_d_2)) old_prefix = join(td, 'old') deactivate_d_dir = mkdir_p(join(old_prefix, 'etc', 'conda', 'deactivate.d')) deactivate_d_1 = join(deactivate_d_dir, 'see-me.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', '2'): with env_var('CONDA_PREFIX', old_prefix): activator = Activator('posix') builder = activator.build_activate(td) new_path = activator.pathsep_join(activator._add_prefix_to_path(td)) assert builder['unset_vars'] == () set_vars = { 'PATH': new_path, 'CONDA_PREFIX': td, 'CONDA_DEFAULT_ENV': td, 'CONDA_PROMPT_MODIFIER': "(%s) " % td, } assert builder['set_vars'] == set_vars assert builder['activate_scripts'] == (activator.path_conversion(activate_d_1),) assert builder['deactivate_scripts'] == (activator.path_conversion(deactivate_d_1),)
def test_PS1(self): with env_var("CONDA_CHANGEPS1", "yes", reset_context): activator = Activator('posix') assert activator._prompt_modifier(ROOT_ENV_NAME) == '(%s) ' % ROOT_ENV_NAME instructions = activator.build_activate("base") assert instructions['export_vars']['CONDA_PROMPT_MODIFIER'] == '(%s) ' % ROOT_ENV_NAME
def test_build_activate_shlvl_1(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) activate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me.sh') activate_d_2 = join(activate_d_dir, 'dont-see-me.bat') touch(join(activate_d_1)) touch(join(activate_d_2)) old_prefix = '/old/prefix' with env_var('CONDA_SHLVL', '1'): with env_var('CONDA_PREFIX', old_prefix): activator = Activator('posix') builder = activator.build_activate(td) new_path = activator.pathsep_join(activator._add_prefix_to_path(td)) conda_prompt_modifier = "(%s) " % td ps1 = conda_prompt_modifier + os.environ.get('PS1', '') assert builder['unset_vars'] == () set_vars = { 'PS1': ps1, } export_vars = { 'PATH': new_path, 'CONDA_PREFIX': td, 'CONDA_PREFIX_1': old_prefix, 'CONDA_SHLVL': 2, 'CONDA_DEFAULT_ENV': td, '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'] == ()
def test_activate_same_environment(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) activate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me.sh') activate_d_2 = join(activate_d_dir, 'dont-see-me.bat') touch(join(activate_d_1)) touch(join(activate_d_2)) old_prefix = td deactivate_d_dir = mkdir_p(join(old_prefix, 'etc', 'conda', 'deactivate.d')) deactivate_d_1 = join(deactivate_d_dir, 'see-me.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', '2'): with env_var('CONDA_PREFIX', old_prefix): activator = Activator('posix') builder = activator.build_activate(td) assert builder['unset_vars'] == () assert builder['set_vars'] == {} assert builder['activate_scripts'] == [activate_d_1] assert builder['deactivate_scripts'] == [deactivate_d_1]
def test_build_activate_shlvl_0(self): with tempdir() as td: mkdir_p(join(td, 'conda-meta')) activate_d_dir = mkdir_p(join(td, 'etc', 'conda', 'activate.d')) activate_d_1 = join(activate_d_dir, 'see-me.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', '0'): with env_var('CONDA_PREFIX', ''): activator = Activator('posix') builder = activator.build_activate(td) new_path = activator.pathsep_join(activator._add_prefix_to_path(td)) assert builder['unset_vars'] == () set_vars = { 'CONDA_PYTHON_EXE': sys.executable, 'PATH': new_path, 'CONDA_PREFIX': td, 'CONDA_SHLVL': 1, 'CONDA_DEFAULT_ENV': td, 'CONDA_PROMPT_MODIFIER': "(%s) " % td, } assert builder['set_vars'] == set_vars assert builder['activate_scripts'] == [activate_d_1] assert builder['deactivate_scripts'] == ()
def test_activate_environment_not_found(self): activator = Activator('posix') with tempdir() as td: with pytest.raises(EnvironmentLocationNotFound): activator.build_activate(td) with pytest.raises(EnvironmentLocationNotFound): activator.build_activate('/not/an/environment') with pytest.raises(EnvironmentNameNotFound): activator.build_activate('wontfindmeIdontexist_abc123')