From c8eaf5146f7eaa8a058399c1f1b548861ce428dc Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Thu, 23 May 2019 09:12:10 -0700 Subject: [PATCH] Ensure native strings in environ --- docs/changelog/1313.bugfix.rst | 1 + src/tox/session/__init__.py | 2 +- tests/unit/session/test_session.py | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 docs/changelog/1313.bugfix.rst diff --git a/docs/changelog/1313.bugfix.rst b/docs/changelog/1313.bugfix.rst new file mode 100644 index 000000000..8b89489dd --- /dev/null +++ b/docs/changelog/1313.bugfix.rst @@ -0,0 +1 @@ +Ensure ``TOX_WORK_DIR`` is a native string in ``os.environ`` - by :user:`asottile`. diff --git a/src/tox/session/__init__.py b/src/tox/session/__init__.py index e93886841..048feb94e 100644 --- a/src/tox/session/__init__.py +++ b/src/tox/session/__init__.py @@ -63,7 +63,7 @@ def main(args): try: config = load_config(args) config.logdir.ensure(dir=1) - with set_os_env_var("TOX_WORK_DIR", config.toxworkdir): + with set_os_env_var(str("TOX_WORK_DIR"), config.toxworkdir): session = build_session(config) exit_code = session.runcommand() if exit_code is None: diff --git a/tests/unit/session/test_session.py b/tests/unit/session/test_session.py index b90430395..df5814bb6 100644 --- a/tests/unit/session/test_session.py +++ b/tests/unit/session/test_session.py @@ -285,6 +285,10 @@ def assert_popen_env(res): if tox_id != "GLOB": assert env["TOX_ENV_NAME"] == tox_id assert env["TOX_ENV_DIR"] == os.path.join(res.cwd, ".tox", tox_id) + # ensure native strings for environ for windows + for k, v in env.items(): + assert type(k) is str, (k, v, type(k)) + assert type(v) is str, (k, v, type(v)) def test_command_prev_post_ok(cmd, initproj, mock_venv):