codecov[bot]: # [Codecov](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=h1) Report
> Merging [#772](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=desc) into [master](https://codecov.io/gh/tox-dev/tox/commit/9a9ea31922c75c275fc2e28ff842b3aad5664257?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/tox-dev/tox/pull/772/graphs/tree.svg?height=150&width=650&token=DYodAwDCZ5&src=pr)](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master     #772      +/-   ##
==========================================
+ Coverage   94.83%   94.84%   +<.01%     
==========================================
  Files          11       11              
  Lines        2402     2406       +4     
==========================================
+ Hits         2278     2282       +4     
  Misses        124      124
```


| [Impacted Files](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [tox/config.py](https://codecov.io/gh/tox-dev/tox/pull/772/diff?src=pr&el=tree#diff-dG94L2NvbmZpZy5weQ==) | `97.76% <100%> (+0.01%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=footer). Last update [9a9ea31...1fc5b93](https://codecov.io/gh/tox-dev/tox/pull/772?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

diff --git a/changelog/706.bugfix.rst b/changelog/706.bugfix.rst
new file mode 100644
index 00000000..b0827db6
--- /dev/null
+++ b/changelog/706.bugfix.rst
@@ -0,0 +1,1 @@
+Fix bug with incorrectly defactorized dependencies - by @bartsanchez
diff --git a/doc/config.rst b/doc/config.rst
index 2e12fe50..cf1d9ec4 100644
--- a/doc/config.rst
+++ b/doc/config.rst
@@ -674,6 +674,32 @@ the following:
     - but not ``py2``, ``py36-sql`` or ``py36-mysql-dev``.
 
 
+Factors and values substitution are compatible
+++++++++++++++++++++++++++++++++++++++++++++++
+
+It is possible to mix both values substitution and factor expressions.
+For example::
+
+    [tox]
+    envlist = py27,py36,coverage
+
+    [testenv]
+    deps =
+        flake8
+        coverage: coverage
+
+    [testenv:py27]
+    deps =
+        {{[testenv]deps}}
+        pytest
+
+With the previous configuration, it will install:
+
+- ``flake8`` and ``pytest`` packages for ``py27`` environment.
+- ``flake8`` package for ``py36`` environment.
+- ``flake8`` and ``coverage`` packages for ``coverage`` environment.
+
+
 Other Rules and notes
 =====================
 
diff --git a/tox/config.py b/tox/config.py
index ad72bdf3..f8cb9ff4 100755
--- a/tox/config.py
+++ b/tox/config.py
@@ -1076,10 +1076,10 @@ class SectionReader:
         if x is None:
             x = default
         else:
+            x = self._replace_if_needed(x, name, replace, crossonly)
             x = self._apply_factors(x)
 
-        if replace and x and hasattr(x, 'replace'):
-            x = self._replace(x, name=name, crossonly=crossonly)
+        x = self._replace_if_needed(x, name, replace, crossonly)
         # print "getstring", self.section_name, name, "returned", repr(x)
         return x
 
@@ -1115,6 +1115,11 @@ class SectionReader:
             raise
         return replaced
 
+    def _replace_if_needed(self, x, name, replace, crossonly):
+        if replace and x and hasattr(x, 'replace'):
+            x = self._replace(x, name=name, crossonly=crossonly)
+        return x
+
 
 class Replacer:
     RE_ITEM_REF = re.compile(

deps passed to pip are not de-factorized
Given this `tox.ini`:

```ini
[testenv]
deps =
  foo
  coverage: coverage

[testenv:sub]
deps =
  {[testenv]deps}
```

Running `tox -e sub` results in:

```
sub create: /tmp/t1/.tox/sub
sub installdeps: foo, coverage: coverage
ERROR: invocation failed (exit code 1), logfile: /tmp/t1/.tox/sub/log/sub-1.log
ERROR: actionid: sub
msg: getenv
cmdargs: ['/tmp/t1/.tox/sub/bin/pip', 'install', 'foo', 'coverage: coverage']

Invalid requirement: 'coverage: coverage'
Traceback (most recent call last):
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", line 92, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1617, in parseString
    raise exc
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1607, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 3376, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 1383, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/pyparsing.py", line 3164, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected stringEnd (at char 8), (line:1, col:9)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/req/req_install.py", line 82, in __init__
    req = Requirement(req)
  File "/tmp/tox/tmp/t1/sub/lib/python3.6/site-packages/pip/_vendor/packaging/requirements.py", line 96, in __init__
    requirement_string[e.loc:e.loc + 8]))
pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "': covera'"


ERROR: could not install deps [foo, coverage: coverage]; v = InvocationError('/tmp/t1/.tox/sub/bin/pip install foo coverage: coverage (see /tmp/t1/.tox/sub/log/sub-1.log)', 1)
__________________________________________ summary __________________________________________
ERROR:   sub: could not install deps [foo, coverage: coverage]; v = InvocationError('/tmp/t1/.tox/sub/bin/pip install foo coverage: coverage (see /tmp/t1/.tox/sub/log/sub-1.log)', 1)
```

`tox 2.9.2.dev35` (current master).

1. it should only install 'coverage' and not 'coverage: coverage'
2. it should only install it for when the "coverage" factor is used.
diff --git a/tests/test_config.py b/tests/test_config.py
index 26421fa5..61d106bf 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1294,7 +1294,36 @@ class TestConfigTestEnv:
         )
         conf = newconfig([], inisource).envconfigs['py27']
         packages = [dep.name for dep in conf.deps]
-        assert packages == list(deps) + ['fun', 'frob>1.0,<2.0']
+        assert packages == ['pytest', 'pytest-cov', 'fun', 'frob>1.0,<2.0']
+
+    # https://github.com/tox-dev/tox/issues/706
+    @pytest.mark.parametrize('envlist', [['py27', 'coverage', 'other']])
+    def test_regression_test_issue_706(self, newconfig, envlist):
+        inisource = """
+            [tox]
+            envlist = {envlist}
+            [testenv]
+            deps=
+              flake8
+              coverage: coverage
+            [testenv:py27]
+            deps=
+                {{[testenv]deps}}
+                fun
+        """.format(
+            envlist=','.join(envlist),
+        )
+        conf = newconfig([], inisource).envconfigs['coverage']
+        packages = [dep.name for dep in conf.deps]
+        assert packages == ['flake8', 'coverage']
+
+        conf = newconfig([], inisource).envconfigs['other']
+        packages = [dep.name for dep in conf.deps]
+        assert packages == ['flake8']
+
+        conf = newconfig([], inisource).envconfigs['py27']
+        packages = [dep.name for dep in conf.deps]
+        assert packages == ['flake8', 'fun']
 
     def test_take_dependencies_from_other_section(self, newconfig):
         inisource = """

pip install -e .[testing]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-mock pytest-timeout pytest-xdist
3.9
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
coverage==7.8.0
distlib==0.3.9
exceptiongroup==1.2.2
execnet==2.1.1
filelock==3.18.0
iniconfig==2.1.0
packaging==24.2
platformdirs==4.3.7
pluggy==0.13.1
py==1.11.0
pytest==7.4.4
pytest-cov==6.0.0
pytest-mock==3.14.0
pytest-timeout==2.3.1
pytest-xdist==3.6.1
six==1.17.0
tomli==2.2.1
-e git+https://github.com/tox-dev/tox.git@9a9ea31922c75c275fc2e28ff842b3aad5664257#egg=tox
virtualenv==20.29.3

name: tox
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - coverage==7.8.0
      - distlib==0.3.9
      - exceptiongroup==1.2.2
      - execnet==2.1.1
      - filelock==3.18.0
      - iniconfig==2.1.0
      - packaging==24.2
      - platformdirs==4.3.7
      - pluggy==0.13.1
      - py==1.11.0
      - pytest==7.4.4
      - pytest-cov==6.0.0
      - pytest-mock==3.14.0
      - pytest-timeout==2.3.1
      - pytest-xdist==3.6.1
      - six==1.17.0
      - tomli==2.2.1
      - tox==3.0.0rc3.dev1+g9a9ea319
      - virtualenv==20.29.3
prefix: /opt/conda/envs/tox

tests/test_config.py::TestConfigTestEnv::test_take_dependencies_from_other_testenv[envlist1-deps1] tests/test_config.py::TestConfigTestEnv::test_regression_test_issue_706[envlist0]
tests/test_config.py::TestVenvConfig::test_force_dep_with_url tests/test_config.py::TestIniParser::test_getbool tests/test_config.py::TestCmdInvocation::test_listenvs tests/test_config.py::TestCmdInvocation::test_listenvs_verbose_description tests/test_config.py::TestCmdInvocation::test_listenvs_all tests/test_config.py::TestCmdInvocation::test_no_tox_ini
tests/test_config.py::TestVenvConfig::test_config_parsing_minimal tests/test_config.py::TestVenvConfig::test_config_parsing_multienv tests/test_config.py::TestVenvConfig::test_envdir_set_manually tests/test_config.py::TestVenvConfig::test_envdir_set_manually_with_substitutions tests/test_config.py::TestVenvConfig::test_force_dep_version tests/test_config.py::TestVenvConfig::test_process_deps tests/test_config.py::TestVenvConfig::test_is_same_dep tests/test_config.py::TestConfigPlatform::test_config_parse_platform tests/test_config.py::TestConfigPlatform::test_config_parse_platform_rex tests/test_config.py::TestConfigPlatform::test_config_parse_platform_with_factors[win] tests/test_config.py::TestConfigPlatform::test_config_parse_platform_with_factors[lin] tests/test_config.py::TestConfigPlatform::test_config_parse_platform_with_factors[osx] tests/test_config.py::TestConfigPackage::test_defaults tests/test_config.py::TestConfigPackage::test_defaults_distshare tests/test_config.py::TestConfigPackage::test_defaults_changed_dir tests/test_config.py::TestConfigPackage::test_project_paths tests/test_config.py::TestParseconfig::test_search_parents tests/test_config.py::TestParseconfig::test_explicit_config_path tests/test_config.py::test_get_homedir tests/test_config.py::TestGetcontextname::test_blank tests/test_config.py::TestGetcontextname::test_jenkins tests/test_config.py::TestGetcontextname::test_hudson_legacy tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_substitution_from_other_section tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_substitution_from_other_section_multiline tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_substitution_from_other_section_posargs tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_section_and_posargs_substitution tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_env_substitution tests/test_config.py::TestIniParserAgainstCommandsKey::test_command_env_substitution_global tests/test_config.py::TestIniParserAgainstCommandsKey::test_regression_issue595 tests/test_config.py::TestIniParser::test_getstring_single tests/test_config.py::TestIniParser::test_missing_substitution tests/test_config.py::TestIniParser::test_getstring_fallback_sections tests/test_config.py::TestIniParser::test_getstring_substitution tests/test_config.py::TestIniParser::test_getlist tests/test_config.py::TestIniParser::test_getdict tests/test_config.py::TestIniParser::test_normal_env_sub_works tests/test_config.py::TestIniParser::test_missing_env_sub_raises_config_error_in_non_testenv tests/test_config.py::TestIniParser::test_missing_env_sub_populates_missing_subs tests/test_config.py::TestIniParser::test_getstring_environment_substitution_with_default tests/test_config.py::TestIniParser::test_value_matches_section_substitution tests/test_config.py::TestIniParser::test_value_doesn_match_section_substitution tests/test_config.py::TestIniParser::test_getstring_other_section_substitution tests/test_config.py::TestIniParser::test_argvlist tests/test_config.py::TestIniParser::test_argvlist_windows_escaping tests/test_config.py::TestIniParser::test_argvlist_multiline tests/test_config.py::TestIniParser::test_argvlist_quoting_in_command tests/test_config.py::TestIniParser::test_argvlist_comment_after_command tests/test_config.py::TestIniParser::test_argvlist_command_contains_hash tests/test_config.py::TestIniParser::test_argvlist_positional_substitution tests/test_config.py::TestIniParser::test_argvlist_quoted_posargs tests/test_config.py::TestIniParser::test_argvlist_posargs_with_quotes tests/test_config.py::TestIniParser::test_positional_arguments_are_only_replaced_when_standing_alone tests/test_config.py::TestIniParser::test_posargs_are_added_escaped_issue310 tests/test_config.py::TestIniParser::test_substitution_with_multiple_words tests/test_config.py::TestIniParser::test_getargv tests/test_config.py::TestIniParser::test_getpath tests/test_config.py::TestIniParserPrefix::test_basic_section_access tests/test_config.py::TestIniParserPrefix::test_fallback_sections tests/test_config.py::TestIniParserPrefix::test_value_matches_prefixed_section_substitution tests/test_config.py::TestIniParserPrefix::test_value_doesn_match_prefixed_section_substitution tests/test_config.py::TestIniParserPrefix::test_other_section_substitution tests/test_config.py::TestConfigTestEnv::test_commentchars_issue33 tests/test_config.py::TestConfigTestEnv::test_defaults tests/test_config.py::TestConfigTestEnv::test_sitepackages_switch tests/test_config.py::TestConfigTestEnv::test_installpkg_tops_develop tests/test_config.py::TestConfigTestEnv::test_specific_command_overrides tests/test_config.py::TestConfigTestEnv::test_whitelist_externals tests/test_config.py::TestConfigTestEnv::test_changedir tests/test_config.py::TestConfigTestEnv::test_ignore_errors tests/test_config.py::TestConfigTestEnv::test_envbindir tests/test_config.py::TestConfigTestEnv::test_envbindir_jython[jython] tests/test_config.py::TestConfigTestEnv::test_envbindir_jython[pypy] tests/test_config.py::TestConfigTestEnv::test_envbindir_jython[pypy3] tests/test_config.py::TestConfigTestEnv::test_passenv_as_multiline_list[win32] tests/test_config.py::TestConfigTestEnv::test_passenv_as_multiline_list[linux2] tests/test_config.py::TestConfigTestEnv::test_passenv_as_space_separated_list[win32] tests/test_config.py::TestConfigTestEnv::test_passenv_as_space_separated_list[linux2] tests/test_config.py::TestConfigTestEnv::test_passenv_with_factor tests/test_config.py::TestConfigTestEnv::test_passenv_from_global_env tests/test_config.py::TestConfigTestEnv::test_passenv_glob_from_global_env tests/test_config.py::TestConfigTestEnv::test_changedir_override tests/test_config.py::TestConfigTestEnv::test_install_command_setting tests/test_config.py::TestConfigTestEnv::test_install_command_must_contain_packages tests/test_config.py::TestConfigTestEnv::test_install_command_substitutions tests/test_config.py::TestConfigTestEnv::test_pip_pre tests/test_config.py::TestConfigTestEnv::test_pip_pre_cmdline_override tests/test_config.py::TestConfigTestEnv::test_simple tests/test_config.py::TestConfigTestEnv::test_substitution_error tests/test_config.py::TestConfigTestEnv::test_substitution_defaults tests/test_config.py::TestConfigTestEnv::test_substitution_notfound_issue246 tests/test_config.py::TestConfigTestEnv::test_substitution_notfound_issue515 tests/test_config.py::TestConfigTestEnv::test_substitution_nested_env_defaults tests/test_config.py::TestConfigTestEnv::test_substitution_positional tests/test_config.py::TestConfigTestEnv::test_substitution_noargs_issue240 tests/test_config.py::TestConfigTestEnv::test_substitution_double tests/test_config.py::TestConfigTestEnv::test_posargs_backslashed_or_quoted tests/test_config.py::TestConfigTestEnv::test_rewrite_posargs tests/test_config.py::TestConfigTestEnv::test_rewrite_simple_posargs tests/test_config.py::TestConfigTestEnv::test_take_dependencies_from_other_testenv[envlist0-deps0] tests/test_config.py::TestConfigTestEnv::test_take_dependencies_from_other_section tests/test_config.py::TestConfigTestEnv::test_multilevel_substitution tests/test_config.py::TestConfigTestEnv::test_recursive_substitution_cycle_fails tests/test_config.py::TestConfigTestEnv::test_single_value_from_other_secton tests/test_config.py::TestConfigTestEnv::test_factors tests/test_config.py::TestConfigTestEnv::test_factor_ops tests/test_config.py::TestConfigTestEnv::test_envconfigs_based_on_factors tests/test_config.py::TestConfigTestEnv::test_default_factors tests/test_config.py::TestConfigTestEnv::test_factors_in_boolean tests/test_config.py::TestConfigTestEnv::test_factors_in_setenv tests/test_config.py::TestConfigTestEnv::test_factor_use_not_checked tests/test_config.py::TestConfigTestEnv::test_factors_groups_touch tests/test_config.py::TestConfigTestEnv::test_period_in_factor tests/test_config.py::TestConfigTestEnv::test_ignore_outcome tests/test_config.py::TestGlobalOptions::test_notest tests/test_config.py::TestGlobalOptions::test_verbosity tests/test_config.py::TestGlobalOptions::test_quiet[args0-0] tests/test_config.py::TestGlobalOptions::test_quiet[args1-1] tests/test_config.py::TestGlobalOptions::test_quiet[args2-2] tests/test_config.py::TestGlobalOptions::test_quiet[args3-3] tests/test_config.py::TestGlobalOptions::test_substitution_jenkins_default tests/test_config.py::TestGlobalOptions::test_substitution_jenkins_context tests/test_config.py::TestGlobalOptions::test_sdist_specification tests/test_config.py::TestGlobalOptions::test_env_selection tests/test_config.py::TestGlobalOptions::test_py_venv tests/test_config.py::TestGlobalOptions::test_default_environments tests/test_config.py::TestGlobalOptions::test_envlist_expansion tests/test_config.py::TestGlobalOptions::test_envlist_cross_product tests/test_config.py::TestGlobalOptions::test_envlist_multiline tests/test_config.py::TestGlobalOptions::test_minversion tests/test_config.py::TestGlobalOptions::test_skip_missing_interpreters_true tests/test_config.py::TestGlobalOptions::test_skip_missing_interpreters_false tests/test_config.py::TestGlobalOptions::test_defaultenv_commandline tests/test_config.py::TestGlobalOptions::test_defaultenv_partial_override tests/test_config.py::TestHashseedOption::test_default tests/test_config.py::TestHashseedOption::test_passing_integer tests/test_config.py::TestHashseedOption::test_passing_string tests/test_config.py::TestHashseedOption::test_passing_empty_string tests/test_config.py::TestHashseedOption::test_passing_no_argument tests/test_config.py::TestHashseedOption::test_setenv tests/test_config.py::TestHashseedOption::test_noset tests/test_config.py::TestHashseedOption::test_noset_with_setenv tests/test_config.py::TestHashseedOption::test_one_random_hashseed tests/test_config.py::TestHashseedOption::test_setenv_in_one_testenv tests/test_config.py::TestSetenv::test_getdict_lazy tests/test_config.py::TestSetenv::test_getdict_lazy_update tests/test_config.py::TestSetenv::test_setenv_uses_os_environ tests/test_config.py::TestSetenv::test_setenv_default_os_environ tests/test_config.py::TestSetenv::test_setenv_uses_other_setenv tests/test_config.py::TestSetenv::test_setenv_recursive_direct tests/test_config.py::TestSetenv::test_setenv_overrides tests/test_config.py::TestSetenv::test_setenv_with_envdir_and_basepython tests/test_config.py::TestSetenv::test_setenv_ordering_1 tests/test_config.py::TestSetenv::test_setenv_cross_section_subst_issue294 tests/test_config.py::TestSetenv::test_setenv_cross_section_subst_twice tests/test_config.py::TestSetenv::test_setenv_cross_section_mixed tests/test_config.py::TestIndexServer::test_indexserver tests/test_config.py::TestIndexServer::test_parse_indexserver tests/test_config.py::TestIndexServer::test_multiple_homedir_relative_local_indexservers tests/test_config.py::TestConfigConstSubstitutions::test_replace_pathsep_unix[:] tests/test_config.py::TestConfigConstSubstitutions::test_replace_pathsep_unix[;] tests/test_config.py::TestConfigConstSubstitutions::test_pathsep_regex tests/test_config.py::TestParseEnv::test_parse_recreate tests/test_config.py::TestCmdInvocation::test_help tests/test_config.py::TestCmdInvocation::test_version_simple tests/test_config.py::TestCmdInvocation::test_version_no_plugins tests/test_config.py::TestCmdInvocation::test_version_with_normal_plugin tests/test_config.py::TestCmdInvocation::test_version_with_fileless_module tests/test_config.py::TestCmdInvocation::test_listenvs_all_verbose_description tests/test_config.py::TestCmdInvocation::test_listenvs_all_verbose_description_no_additional_environments tests/test_config.py::TestCmdInvocation::test_config_specific_ini tests/test_config.py::TestCmdInvocation::test_override_workdir tests/test_config.py::TestCmdInvocation::test_showconfig_with_force_dep_version tests/test_config.py::test_env_spec[-e tests/test_config.py::TestCommandParser::test_command_parser_for_word tests/test_config.py::TestCommandParser::test_command_parser_for_posargs tests/test_config.py::TestCommandParser::test_command_parser_for_multiple_words tests/test_config.py::TestCommandParser::test_command_parser_for_substitution_with_spaces tests/test_config.py::TestCommandParser::test_command_parser_with_complex_word_set tests/test_config.py::TestCommandParser::test_command_with_runs_of_whitespace tests/test_config.py::TestCommandParser::test_command_with_split_line_in_subst_arguments tests/test_config.py::TestCommandParser::test_command_parsing_for_issue_10
doc/config.rst tox/config.py changelog/706.bugfix.rst
doc/config.rst tox/config.py changelog/706.bugfix.rst