Exemplo n.º 1
0
def test_render_activate_and_deactivate_scripts_fish(single_values,
                                                     multiple_values):
    # activate
    assert (render_activate_script(single_values,
                                   "fish") == textwrap.dedent("""\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function add_path
                set PATH $argv[1] $PATH
            end
            set -gx CONDA_DEVENV_BKP_VALUE $VALUE
            set -gx VALUE "value"
            functions --erase add_path
            """).strip())
    assert (render_activate_script(multiple_values,
                                   "fish") == textwrap.dedent("""\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function add_path
                set PATH $argv[1] $PATH
            end
            set -gx CONDA_DEVENV_BKP_LD_LIBRARY_PATH $LD_LIBRARY_PATH
            set -gx LD_LIBRARY_PATH "path_a:path_b:$LD_LIBRARY_PATH"
            add_path path_b
            add_path path_a
            functions --erase add_path
            """).strip())

    # deactivate
    assert (render_deactivate_script({"VALUE": "value"},
                                     "fish") == textwrap.dedent("""\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function remove_path
                if set -l index (contains -i $argv[1] $PATH)
                    set --erase PATH[$index]
                end
            end
            set -gx VALUE $CONDA_DEVENV_BKP_VALUE
            set -e CONDA_DEVENV_BKP_VALUE
            functions --erase remove_path
            """).strip())
    assert (render_deactivate_script(multiple_values,
                                     "fish") == textwrap.dedent("""\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function remove_path
                if set -l index (contains -i $argv[1] $PATH)
                    set --erase PATH[$index]
                end
            end
            set -gx LD_LIBRARY_PATH $CONDA_DEVENV_BKP_LD_LIBRARY_PATH
            set -e CONDA_DEVENV_BKP_LD_LIBRARY_PATH
            remove_path path_a
            remove_path path_b
            functions --erase remove_path
            """).strip())
def test_render_activate_and_deactivate_scripts_cmd(single_values, multiple_values):
    # activate
    assert (
        render_activate_script(single_values, "cmd")
        == textwrap.dedent(
            """\
            @REM This file was generated by conda-devenv. Any changes may be overwritten.
            @echo off
            set "CONDA_DEVENV_BKP_VALUE=%VALUE%"
            set "VALUE=value"
            """
        ).strip()
    )
    assert (
        render_activate_script(multiple_values, "cmd")
        == textwrap.dedent(
            """\
            @REM This file was generated by conda-devenv. Any changes may be overwritten.
            @echo off
            set "CONDA_DEVENV_BKP_LD_LIBRARY_PATH=%LD_LIBRARY_PATH%"
            set "LD_LIBRARY_PATH=path_a;path_b;%LD_LIBRARY_PATH%"
            set "PATH=path_b;path_a;%PATH%"
            """
        ).strip()
    )

    # deactivate
    assert (
        render_deactivate_script(single_values, "cmd")
        == textwrap.dedent(
            """\
            @REM This file was generated by conda-devenv. Any changes may be overwritten.
            @echo off
            set "VALUE=%CONDA_DEVENV_BKP_VALUE%"
            set CONDA_DEVENV_BKP_VALUE=
            """
        ).strip()
    )
    assert (
        render_deactivate_script(multiple_values, "cmd")
        == textwrap.dedent(
            """\
            @REM This file was generated by conda-devenv. Any changes may be overwritten.
            @echo off
            set "LD_LIBRARY_PATH=%CONDA_DEVENV_BKP_LD_LIBRARY_PATH%"
            set CONDA_DEVENV_BKP_LD_LIBRARY_PATH=
            set PATH=%PATH:path_a;=%
            set PATH=%PATH:path_b;=%
            """
        ).strip()
    )
def test_render_activate_and_deactivate_scripts_bash(single_values, multiple_values):
    # activate
    assert (
        render_activate_script(single_values, "bash")
        == textwrap.dedent(
            """\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function add_path {
                export PATH="${1}:${PATH}"
            }
            if [ ! -z ${VALUE+x} ]; then
                export CONDA_DEVENV_BKP_VALUE="$VALUE"
            fi
            export VALUE="value"
            unset -f add_path
            """
        ).strip()
    )
    assert (
        render_activate_script(multiple_values, "bash")
        == textwrap.dedent(
            """\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function add_path {
                export PATH="${1}:${PATH}"
            }
            if [ ! -z ${LD_LIBRARY_PATH+x} ]; then
                export CONDA_DEVENV_BKP_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
            fi
            export LD_LIBRARY_PATH="path_a:path_b:$LD_LIBRARY_PATH"
            add_path path_b
            add_path path_a
            unset -f add_path
            """
        ).strip()
    )

    # deactivate
    assert (
        render_deactivate_script(single_values, "bash")
        == textwrap.dedent(
            """\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function remove_path() {
               local p=":$1:"
               local d=":$PATH:"
               d=${d/$p/:}
               d=${d/#:/}
               export PATH=${d/%:/}
            }
            if [ ! -z ${CONDA_DEVENV_BKP_VALUE+x} ]; then
                export VALUE="$CONDA_DEVENV_BKP_VALUE"
                unset CONDA_DEVENV_BKP_VALUE
            else
                unset VALUE
            fi
            unset -f remove_path
            """
        ).strip()
    )
    assert (
        render_deactivate_script(multiple_values, "bash")
        == textwrap.dedent(
            """\
            # This file was generated by conda-devenv. Any changes may be overwritten.
            function remove_path() {
               local p=":$1:"
               local d=":$PATH:"
               d=${d/$p/:}
               d=${d/#:/}
               export PATH=${d/%:/}
            }
            if [ ! -z ${CONDA_DEVENV_BKP_LD_LIBRARY_PATH+x} ]; then
                export LD_LIBRARY_PATH="$CONDA_DEVENV_BKP_LD_LIBRARY_PATH"
                unset CONDA_DEVENV_BKP_LD_LIBRARY_PATH
            else
                unset LD_LIBRARY_PATH
            fi
            remove_path path_a
            remove_path path_b
            unset -f remove_path
            """
        ).strip()
    )