예제 #1
0
    def test_install_conda_csh(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'etc', 'profile.d', 'conda.csh')
            result = install_conda_csh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, second_line, third_line, remainder = created_file_contents.split('\n', 3)
            if on_win:
                assert first_line == 'setenv CONDA_EXE `cygpath %s`' % join(conda_prefix, 'Scripts', 'conda.exe')
                assert second_line == 'setenv _CONDA_ROOT `cygpath %s`' % conda_prefix
                assert third_line == 'setenv _CONDA_EXE `cygpath %s`' % join(conda_prefix, 'Scripts', 'conda.exe')
            else:
                assert first_line == 'setenv CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')
                assert second_line == 'setenv _CONDA_ROOT "%s"' % conda_prefix
                assert third_line == 'setenv _CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.csh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_csh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            context.dev = False
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            from conda.activate import PosixActivator
            activator = PosixActivator()

            line0, line1, line2, line3, _, remainder = created_file_contents.split('\n', 5)
            assert line0 == "export CONDA_EXE='%s'" % activator.path_conversion(context.conda_exe)
            assert line1 == "export _CE_M=''"
            assert line2 == "export _CE_CONDA=''"
            assert line3.startswith("export CONDA_PYTHON_EXE=")

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #3
0
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            context.dev = False
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            from conda.activate import PosixActivator
            activator = PosixActivator()

            line0, line1, line2, line3, _, remainder = created_file_contents.split('\n', 5)
            assert line0 == "export CONDA_EXE='%s'" % activator.path_conversion(context.conda_exe)
            assert line1 == "export _CE_M=''"
            assert line2 == "export _CE_CONDA=''"
            assert line3.startswith("export CONDA_PYTHON_EXE=")

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #4
0
    def test_install_conda_fish(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'etc', 'fish', 'conf.d',
                               'conda.fish')
            result = install_conda_fish(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, second_line, third_line, remainder = created_file_contents.split(
                '\n', 3)
            if on_win:
                win_conda_exe = join(conda_prefix, 'Scripts', 'conda.exe')
                assert first_line == 'set -gx CONDA_EXE (cygpath "%s")' % win_conda_exe
                assert second_line == 'set _CONDA_ROOT (cygpath "%s")' % conda_prefix
                assert third_line == 'set _CONDA_EXE (cygpath "%s")' % win_conda_exe
            else:
                assert first_line == 'set -gx CONDA_EXE "%s"' % join(
                    conda_prefix, 'bin', 'conda')
                assert second_line == 'set _CONDA_ROOT "%s"' % conda_prefix
                assert third_line == 'set _CONDA_EXE "%s"' % join(
                    conda_prefix, 'bin', 'conda')

            with open(
                    join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'fish', 'conf.d',
                         'conda.fish')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_fish(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #5
0
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            if on_win:
                first_line, second_line, remainder = created_file_contents.split(
                    '\n', 2)
                assert first_line == "export CONDA_EXE=\"$(cygpath '%s')\"" % context.conda_exe
                assert second_line == "export CONDA_BAT=\"%s\"" % join(
                    context.conda_prefix, 'condabin', 'conda.bat')
            else:
                first_line, remainder = created_file_contents.split('\n', 1)
                assert first_line == 'export CONDA_EXE="%s"' % context.conda_exe

            with open(
                    join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d',
                         'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #6
0
    def test_install_conda_xsh(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'Lib', 'site-packages',
                               'conda.xsh')
            result = install_conda_xsh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, remainder = created_file_contents.split('\n', 1)
            if on_win:
                assert first_line == 'CONDA_EXE = "%s"' % join(
                    conda_prefix, 'Scripts', 'conda.exe')
            else:
                assert first_line == 'CONDA_EXE = "%s"' % join(
                    conda_prefix, 'bin', 'conda')

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'conda.xsh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_xsh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #7
0
    def test_install_conda_fish(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'etc', 'fish', 'conf.d', 'conda.fish')
            result = install_conda_fish(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, second_line, third_line, fourth_line, remainder = created_file_contents.split('\n', 4)
            if on_win:
                win_conda_exe = join(conda_prefix, 'Scripts', 'conda.exe')
                win_py_exe = join(conda_prefix, 'python.exe')
                assert first_line == 'set -gx CONDA_EXE (cygpath "%s")' % win_conda_exe
                assert second_line == 'set _CONDA_ROOT (cygpath "%s")' % conda_prefix
                assert third_line == 'set _CONDA_EXE (cygpath "%s")' % win_conda_exe
                assert fourth_line == 'set -gx CONDA_PYTHON_EXE (cygpath "%s")' % win_py_exe
            else:
                assert first_line == 'set -gx CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')
                assert second_line == 'set _CONDA_ROOT "%s"' % conda_prefix
                assert third_line == 'set _CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')
                assert fourth_line == 'set -gx CONDA_PYTHON_EXE "%s"' % join(conda_prefix, 'bin', 'python')

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'fish', 'conf.d', 'conda.fish')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_fish(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
    def test_install_conda_csh(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'etc', 'profile.d', 'conda.csh')
            result = install_conda_csh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, second_line, third_line, fourth_line, remainder = created_file_contents.split('\n', 4)
            if on_win:
                assert first_line == 'setenv CONDA_EXE `cygpath %s`' % join(conda_prefix, 'Scripts', 'conda.exe')
                assert second_line == 'setenv _CONDA_ROOT `cygpath %s`' % conda_prefix
                assert third_line == 'setenv _CONDA_EXE `cygpath %s`' % join(conda_prefix, 'Scripts', 'conda.exe')
                assert fourth_line == 'setenv CONDA_PYTHON_EXE `cygpath %s`' % join(conda_prefix, 'python.exe')
            else:
                assert first_line == 'setenv CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')
                assert second_line == 'setenv _CONDA_ROOT "%s"' % conda_prefix
                assert third_line == 'setenv _CONDA_EXE "%s"' % join(conda_prefix, 'bin', 'conda')
                assert fourth_line == 'setenv CONDA_PYTHON_EXE "%s"' % join(conda_prefix, 'bin', 'python')

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.csh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_csh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #9
0
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            context.dev = False
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            if on_win:
                line0, line1, line2, line3, remainder = created_file_contents.split('\n', 4)
                assert line0 == "export CONDA_EXE=\"$(cygpath '%s')\"" % context.conda_exe
                assert line1 == "export _CE_M=-m"
                assert line2 == "export _CE_CONDA=conda"
                assert line3 == "export CONDA_BAT=\"%s\"" % join(context.conda_prefix, 'condabin', 'conda.bat')
            else:
                line0, line1, line2, _, remainder = created_file_contents.split('\n', 4)
                assert line0 == "export CONDA_EXE='%s'" % context.conda_exe
                assert line1 == "export _CE_M=''"
                assert line2 == "export _CE_CONDA=''"

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #10
0
    def test_init_sh_user_windows(self):
        with tempdir() as conda_temp_prefix:
            target_path = join(conda_temp_prefix, '.bashrc')
            conda_prefix = "c:\\Users\\Lars\\miniconda"
            cygpath_conda_prefix = "/c/Users/Lars/miniconda"

            initial_content = dals("""
            source /c/conda/Scripts/activate root
            . $(cygpath 'c:\\conda\\Scripts\\activate') root

            # >>> conda initialize >>>
            __conda_setup="$('%(prefix)s/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
            if [ $? -eq 0 ]; then
            fi
            unset __conda_setup
            # <<< conda initialize <<<

            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh

            \t source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_ok(abspath(conda_prefix)),
            }

            with open(target_path, 'w') as fh:
                fh.write(initial_content)

            init_sh_user(target_path, conda_prefix, 'bash')

            with open(target_path) as fh:
                new_content = fh.read()

            print(new_content)

            expected_new_content = dals("""
            # source /c/conda/Scripts/activate root  # commented out by conda initialize
            # . $(cygpath 'c:\\conda\\Scripts\\activate') root  # commented out by conda initialize

            # >>> conda initialize >>>
            # !! Contents within this block are managed by 'conda init' !!
            eval "$('%(cygpath_conda_prefix)s/Scripts/conda.exe' 'shell.bash' 'hook')"
            # <<< conda initialize <<<

            # . etc/profile.d/conda.sh  # commented out by conda initialize
            . etc/profile.d/coda.sh
            # . /somewhere/etc/profile.d/conda.sh  # commented out by conda initialize
            # source /etc/profile.d/conda.sh  # commented out by conda initialize

            # source %(prefix)s/etc/profile.d/conda.sh  # commented out by conda initialize
            """) % {
                'prefix': win_path_ok(abspath(conda_prefix)),
                'cygpath_conda_prefix': cygpath_conda_prefix,
            }

            assert new_content == expected_new_content
예제 #11
0
    def test_init_sh_user_windows(self):
        with tempdir() as conda_temp_prefix:
            target_path = join(conda_temp_prefix, '.bashrc')
            conda_prefix = "c:\\Users\\Lars\\miniconda"
            cygpath_conda_prefix = "/c/Users/Lars/miniconda"

            initial_content = dals("""
            source /c/conda/Scripts/activate root
            . $(cygpath 'c:\\conda\\Scripts\\activate') root

            # >>> conda initialize >>>
            __conda_setup="$('%(prefix)s/bin/conda' shell.bash hook 2> /dev/null)"
            if [ $? -eq 0 ]; then
            fi
            unset __conda_setup
            # <<< conda initialize <<<

            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh

            \t source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_ok(abspath(conda_prefix)),
            }

            with open(target_path, 'w') as fh:
                fh.write(initial_content)

            init_sh_user(target_path, conda_prefix, 'bash')

            with open(target_path) as fh:
                new_content = fh.read()

            print(new_content)

            expected_new_content = dals("""
            # source /c/conda/Scripts/activate root  # commented out by conda initialize
            # . $(cygpath 'c:\\conda\\Scripts\\activate') root  # commented out by conda initialize

            # >>> conda initialize >>>
            # !! Contents within this block are managed by 'conda init' !!
            eval "$('%(cygpath_conda_prefix)s/Scripts/conda.exe' shell.bash hook)"
            # <<< conda initialize <<<

            # . etc/profile.d/conda.sh  # commented out by conda initialize
            . etc/profile.d/coda.sh
            # . /somewhere/etc/profile.d/conda.sh  # commented out by conda initialize
            # source /etc/profile.d/conda.sh  # commented out by conda initialize

            # source %(prefix)s/etc/profile.d/conda.sh  # commented out by conda initialize
            """) % {
                'prefix': win_path_ok(abspath(conda_prefix)),
                'cygpath_conda_prefix': cygpath_conda_prefix,
            }

            assert new_content == expected_new_content
예제 #12
0
    def test_make_entry_point(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            if on_win:
                conda_exe_path = join(conda_temp_prefix, 'Scripts', 'conda-script.py')
            else:
                conda_exe_path = join(conda_temp_prefix, 'bin', 'conda')
            result = make_entry_point(conda_exe_path, conda_prefix, 'conda.entry.point', 'run')
            assert result == Result.MODIFIED

            with open(conda_exe_path) as fh:
                ep_contents = fh.read()

            if on_win:
                assert ep_contents == dals("""
                # -*- coding: utf-8 -*-
                import sys
    
                if __name__ == '__main__':
                    from conda.entry.point import run
                    sys.exit(run())
                """)
            else:
                assert ep_contents == dals("""
                #!%s/bin/python
                # -*- coding: utf-8 -*-
                import sys
    
                if __name__ == '__main__':
                    from conda.entry.point import run
                    sys.exit(run())
                """) % conda_prefix

            result = make_entry_point(conda_exe_path, conda_prefix, 'conda.entry.point', 'run')
            assert result == Result.NO_CHANGE
    def test_make_entry_point(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            if on_win:
                conda_exe_path = join(conda_temp_prefix, 'Scripts', 'conda-script.py')
            else:
                conda_exe_path = join(conda_temp_prefix, 'bin', 'conda')
            result = make_entry_point(conda_exe_path, conda_prefix, 'conda.entry.point', 'run')
            assert result == Result.MODIFIED

            with open(conda_exe_path) as fh:
                ep_contents = fh.read()

            if on_win:
                assert ep_contents == dals("""
                # -*- coding: utf-8 -*-
                import sys

                if __name__ == '__main__':
                    from conda.entry.point import run
                    sys.exit(run())
                """)
            else:
                assert ep_contents == dals("""
                #!%s/bin/python
                # -*- coding: utf-8 -*-
                import sys

                if __name__ == '__main__':
                    from conda.entry.point import run
                    sys.exit(run())
                """) % conda_prefix

            result = make_entry_point(conda_exe_path, conda_prefix, 'conda.entry.point', 'run')
            assert result == Result.NO_CHANGE
예제 #14
0
    def test_install_condabin_conda_bat(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'condabin', 'conda.bat')
            result = install_condabin_conda_bat(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            remainder = created_file_contents

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'condabin', 'conda.bat')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_condabin_conda_bat(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
    def test_install_condabin_conda_bat(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'condabin', 'conda.bat')
            result = install_condabin_conda_bat(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            remainder = created_file_contents

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'condabin', 'conda.bat')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_condabin_conda_bat(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #16
0
 def test_init_sh_system(self):
     with tempdir() as td:
         target_path = join(td, 'conda.sh')
         conda_prefix = join(td, 'b', 'c')
         init_sh_system(target_path, conda_prefix)
         with open(target_path) as fh:
             content = fh.read().strip().splitlines()
         assert content[0] == '# >>> conda initialize >>>'
         assert content[1] == "# !! Contents within this block are managed by 'conda init' !!"
         assert content[-1] == '# <<< conda initialize <<<'
예제 #17
0
 def test_init_sh_system(self):
     with tempdir() as td:
         target_path = join(td, 'conda.sh')
         conda_prefix = join(td, 'b', 'c')
         init_sh_system(target_path, conda_prefix)
         with open(target_path) as fh:
             content = fh.read().strip().splitlines()
         assert content[0] == '# >>> conda initialize >>>'
         assert content[1] == "# !! Contents within this block are managed by 'conda init' !!"
         assert content[-1] == '# <<< conda initialize <<<'
예제 #18
0
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            context.dev = False
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            line0, line1, line2, _, remainder = created_file_contents.split('\n', 4)
            assert line0 == "export CONDA_EXE='%s'" % context.conda_exe
            assert line1 == "export _CE_M=''"
            assert line2 == "export _CE_CONDA=''"

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #19
0
    def test_install_conda_sh(self):
        with tempdir() as conda_prefix:
            target_path = join(conda_prefix, 'etc', 'profile.d', 'conda.sh')
            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, remainder = created_file_contents.split('\n', 1)
            if on_win:
                assert first_line == "export CONDA_EXE=\"$(cygpath '%s')\"" % context.conda_exe
            else:
                assert first_line == 'export CONDA_EXE="%s"' % context.conda_exe

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'etc', 'profile.d', 'conda.sh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_sh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
예제 #20
0
    def test_install_conda_xsh(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'Lib', 'site-packages', 'conda.xsh')
            result = install_conda_xsh(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, remainder = created_file_contents.split('\n', 1)
            if on_win:
                assert first_line == 'CONDA_EXE = "%s"' % join(conda_prefix, 'Scripts', 'conda.exe')
            else:
                assert first_line == 'CONDA_EXE = "%s"' % join(conda_prefix, 'bin', 'conda')

            with open(join(CONDA_PACKAGE_ROOT, 'shell', 'conda.xsh')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_xsh(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
    def test_init_sh_user_tcsh_unix(self):
        with tempdir() as conda_temp_prefix:
            target_path = join(conda_temp_prefix, '.tcshrc')
            init_sh_user(target_path, conda_temp_prefix, 'tcsh')

            with open(target_path) as fh:
                tcshrc_contet = fh.read()

            conda_csh = "%s/etc/profile.d/conda.csh" % conda_temp_prefix
            # tcsh/csh doesn't give users the ability to register a function.
            # Make sure that conda doesn't try to register a function
            conda_eval_string = "eval \"$__conda_setup\""
            assert conda_csh in tcshrc_contet
            assert conda_eval_string not in tcshrc_contet
예제 #22
0
    def test_install_conda_bat(self):
        with tempdir() as conda_temp_prefix:
            conda_prefix = abspath(sys.prefix)
            target_path = join(conda_temp_prefix, 'Library', 'bin',
                               'conda.bat')
            result = install_conda_bat(target_path, conda_prefix)
            assert result == Result.MODIFIED

            with open(target_path) as fh:
                created_file_contents = fh.read()

            first_line, remainder = created_file_contents.split('\n', 1)
            assert first_line == '@SET "_CONDA_EXE=%s"' % join(
                conda_prefix, 'Scripts', 'conda.exe')

            with open(
                    join(CONDA_PACKAGE_ROOT, 'shell', 'Library', 'bin',
                         'conda.bat')) as fh:
                original_contents = fh.read()
            assert remainder == original_contents

            result = install_conda_bat(target_path, conda_prefix)
            assert result == Result.NO_CHANGE
    def test_init_sh_user_unix(self):
        with tempdir() as conda_temp_prefix:
            target_path = join(conda_temp_prefix, '.bashrc')

            initial_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"
              export PATH="%(prefix)s/bin:$PATH"

            # >>> conda initialize >>>
            __conda_setup="$('%(prefix)s/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
            if [ $? -eq 0 ]; then
            fi
            unset __conda_setup
            # <<< conda initialize <<<

            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh

            \t source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }

            with open(target_path, 'w') as fh:
                fh.write(initial_content)

            init_sh_user(target_path, conda_temp_prefix, 'bash')

            with open(target_path) as fh:
                new_content = fh.read()

            expected_new_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            # export PATH="%(prefix)s/bin:$PATH"  # commented out by conda initialize
            # export PATH="%(prefix)s/bin:$PATH"  # commented out by conda initialize

            # >>> conda initialize >>>
            # !! Contents within this block are managed by 'conda init' !!
            __conda_setup="$('%(prefix)s/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
            if [ $? -eq 0 ]; then
                eval "$__conda_setup"
            else
                if [ -f "%(prefix)s/etc/profile.d/conda.sh" ]; then
                    . "%(prefix)s/etc/profile.d/conda.sh"
                else
                    export PATH="%(prefix)s/bin:$PATH"
                fi
            fi
            unset __conda_setup
            # <<< conda initialize <<<

            # . etc/profile.d/conda.sh  # commented out by conda initialize
            . etc/profile.d/coda.sh
            # . /somewhere/etc/profile.d/conda.sh  # commented out by conda initialize
            # source /etc/profile.d/conda.sh  # commented out by conda initialize

            # source %(prefix)s/etc/profile.d/conda.sh  # commented out by conda initialize
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }
            print(new_content)
            assert new_content == expected_new_content

            expected_reversed_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"

            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh

            source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }

            init_sh_user(target_path, conda_temp_prefix, 'bash', reverse=True)
            with open(target_path) as fh:
                reversed_content = fh.read()
            print(reversed_content)
            assert reversed_content == expected_reversed_content
예제 #24
0
    def test_init_sh_user_unix(self):
        with tempdir() as conda_temp_prefix:
            target_path = join(conda_temp_prefix, '.bashrc')

            initial_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"
              export PATH="%(prefix)s/bin:$PATH"
              
            # >>> conda initialize >>>
            __conda_setup="$('%(prefix)s/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
            if [ $? -eq 0 ]; then
            fi
            unset __conda_setup
            # <<< conda initialize <<<
            
            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh
            
            \t source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }

            with open(target_path, 'w') as fh:
                fh.write(initial_content)

            init_sh_user(target_path, conda_temp_prefix, 'bash')

            with open(target_path) as fh:
                new_content = fh.read()

            expected_new_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            # export PATH="%(prefix)s/bin:$PATH"  # commented out by conda initialize
            # export PATH="%(prefix)s/bin:$PATH"  # commented out by conda initialize
            
            # >>> conda initialize >>>
            # !! Contents within this block are managed by 'conda init' !!
            __conda_setup="$('%(prefix)s/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
            if [ $? -eq 0 ]; then
                eval "$__conda_setup"
            else
                if [ -f "%(prefix)s/etc/profile.d/conda.sh" ]; then
                    . "%(prefix)s/etc/profile.d/conda.sh"
                else
                    export PATH="%(prefix)s/bin:$PATH"
                fi
            fi
            unset __conda_setup
            # <<< conda initialize <<<
            
            # . etc/profile.d/conda.sh  # commented out by conda initialize
            . etc/profile.d/coda.sh
            # . /somewhere/etc/profile.d/conda.sh  # commented out by conda initialize
            # source /etc/profile.d/conda.sh  # commented out by conda initialize
            
            # source %(prefix)s/etc/profile.d/conda.sh  # commented out by conda initialize
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }
            print(new_content)
            assert new_content == expected_new_content

            expected_reversed_content = dals("""
            export PATH="/some/other/conda/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"
            export PATH="%(prefix)s/bin:$PATH"
            
            . etc/profile.d/conda.sh
            . etc/profile.d/coda.sh
            . /somewhere/etc/profile.d/conda.sh
            source /etc/profile.d/conda.sh
            
            source %(prefix)s/etc/profile.d/conda.sh
            """) % {
                'prefix': win_path_backout(abspath(conda_temp_prefix)),
            }

            init_sh_user(target_path, conda_temp_prefix, 'bash', reverse=True)
            with open(target_path) as fh:
                reversed_content = fh.read()
            print(reversed_content)
            assert reversed_content == expected_reversed_content