Unverified Commit 988f4e58 authored by Nicola Soranzo's avatar Nicola Soranzo
Browse files

Merge branch 'release_22.01' into release_22.05

parents ef80595c 7136d72b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ def new_clean_env():
    Returns a minimal environment to use when invoking a subprocess
    """
    env = {}
    for k in ("HOME", "PATH", "TMPDIR"):
    for k in ("HOME", "LC_CTYPE", "PATH", "TMPDIR"):
        if k in os.environ:
            env[k] = os.environ[k]
    if "TMPDIR" not in env:
@@ -174,6 +174,7 @@ def new_clean_env():
    # This is needed e.g. for Python < 3.7 where
    # `locale.getpreferredencoding()` (also used by open() to determine the
    # default file encoding) would return `ANSI_X3.4-1968` without this.
    if not env.get("LC_CTYPE", "").endswith("UTF-8"):
        env["LC_CTYPE"] = "C.UTF-8"
    return env

+5 −0
Original line number Diff line number Diff line
@@ -3,6 +3,11 @@ History

.. to_doc

22.1.5 (2022-11-14)
-------------------

* Set test status to success on expected failure

22.1.4 (2022-10-28)
-------------------

+20 −0
Original line number Diff line number Diff line
import os

from galaxy.util.commands import new_clean_env


def test_new_clean_env() -> None:
    saved_environ = os.environ.copy()
    os.environ["FOO"] = "foo"
    os.environ.pop("TMPDIR", None)
    try:
        clean_env = new_clean_env()
    finally:
        os.environ.clear()
        os.environ.update(saved_environ)
    assert "FOO" not in clean_env
    for k in ("HOME", "PATH"):
        if k in saved_environ:
            assert clean_env[k] == saved_environ[k]
    assert clean_env["LC_CTYPE"].endswith("UTF-8")
    assert clean_env["TMPDIR"]