From ff4bd47c327da9609bcaddc69f1cf8beec2fab91 Mon Sep 17 00:00:00 2001 From: John Vandenberg Date: Mon, 11 Jan 2021 08:27:09 +0800 Subject: [PATCH] config: Revert removal of {packages}/{opts} hack This was removed in e4d0d600, and replaced with a neater approach, however the newer approach doesnt work for replacements from other sections. Fixes https://github.com/tox-dev/tox/issues/1777 --- docs/changelog/1777.bugfix.rst | 1 + src/tox/config/__init__.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 docs/changelog/1777.bugfix.rst diff --git a/docs/changelog/1777.bugfix.rst b/docs/changelog/1777.bugfix.rst new file mode 100644 index 000000000..d938fbae6 --- /dev/null +++ b/docs/changelog/1777.bugfix.rst @@ -0,0 +1 @@ +Fix regression that broke using install_command in config replacements - by :user:`jayvdb` diff --git a/src/tox/config/__init__.py b/src/tox/config/__init__.py index 30296ee7c..b438c5a28 100644 --- a/src/tox/config/__init__.py +++ b/src/tox/config/__init__.py @@ -1848,6 +1848,12 @@ def _replace_match(self, match): return os.pathsep default_value = g["default_value"] + # special case: opts and packages. Leave {opts} and + # {packages} intact, they are replaced manually in + # _venv.VirtualEnv.run_install_command. + if sub_value in ("opts", "packages"): + return "{{{}}}".format(sub_value) + if sub_value == "posargs": return self.reader.getposargs(default_value)