diff --git a/changelog/921.feature.rst b/changelog/921.feature.rst
new file mode 100644
index 00000000..7a061b95
--- /dev/null
+++ b/changelog/921.feature.rst
@@ -0,0 +1,1 @@
+keep additional environments config order when listing them - by :user:`gaborbernat`
diff --git a/doc/config.rst b/doc/config.rst
index dc89ca09..e56fe8de 100644
--- a/doc/config.rst
+++ b/doc/config.rst
@@ -189,7 +189,7 @@ Complete list of settings that you can put into ``testenv*`` sections:
 
     **default**::
 
-        pip install {opts} {packages}
+        python -m pip install {opts} {packages}
 
 .. confval:: list_dependencies_command
 
diff --git a/src/tox/config.py b/src/tox/config.py
index e9f55c99..a7e62d52 100755
--- a/src/tox/config.py
+++ b/src/tox/config.py
@@ -10,6 +10,7 @@ import string
 import sys
 import uuid
 import warnings
+from collections import OrderedDict
 from fnmatch import fnmatchcase
 from subprocess import list2cmdline
 
@@ -783,7 +784,7 @@ class Config(object):
     """Global Tox config object."""
 
     def __init__(self, pluginmanager, option, interpreters, parser):
-        self.envconfigs = {}
+        self.envconfigs = OrderedDict()
         """Mapping envname -> envconfig"""
         self.invocationcwd = py.path.local()
         self.interpreters = interpreters
@@ -1110,25 +1111,28 @@ class ParseIni(object):
         env_list = _split_env(env_str)
 
         # collect section envs
-        all_envs = set(env_list) - {"ALL"}
+        all_envs = OrderedDict((i, None) for i in env_list)
+        if "ALL" in all_envs:
+            all_envs.pop("ALL")
         for section in self._cfg:
             if section.name.startswith(testenvprefix):
-                all_envs.add(section.name[len(testenvprefix) :])
+                all_envs[section.name[len(testenvprefix) :]] = None
         if not all_envs:
-            all_envs.add("python")
+            all_envs["python"] = None
 
         package_env = config.isolated_build_env
         if config.isolated_build is True and package_env in all_envs:
-            all_envs.remove(package_env)
+            all_envs.pop(package_env)
 
         if not env_list or "ALL" in env_list:
-            env_list = sorted(all_envs)
+            env_list = list(all_envs.keys())
 
         if config.isolated_build is True and package_env in env_list:
             msg = "isolated_build_env {} cannot be part of envlist".format(package_env)
             raise tox.exception.ConfigError(msg)
 
-        return env_list, all_envs
+        all_env_list = list(all_envs.keys())
+        return env_list, all_env_list
 
 
 def _split_env(env):
diff --git a/src/tox/session.py b/src/tox/session.py
index 5ac0c7d3..97e5da19 100644
--- a/src/tox/session.py
+++ b/src/tox/session.py
@@ -621,7 +621,7 @@ class Session:
         env_conf = self.config.envconfigs  # this contains all environments
         default = self.config.envlist  # this only the defaults
         ignore = {self.config.isolated_build_env}.union(default)
-        extra = sorted(e for e in env_conf if e not in ignore) if all_envs else []
+        extra = [e for e in env_conf if e not in ignore] if all_envs else []
 
         if description:
             self.report.line("default environments:")

additional environments config order is not kept
Our own config shows this:

```
using tox.ini: /home/bernat/git/tox/tox.ini
using tox-3.1.2 from /home/bernat/.local/lib/python2.7/site-packages/tox/__init__.pyc
default environments:
py27                -> run the tests with pytest under python2.7
py34                -> run the tests with pytest under python3.4
py35                -> run the tests with pytest under python3.5
py36                -> run the tests with pytest under python3.6
py37                -> run the tests with pytest under python3.7
pypy                -> run the tests with pytest under pypy
coverage            -> [run locally after tests]: combine coverage data and create report; generates a diff coverage against origin/master (can be changed by setting DIFF_AGAINST env var)
fix-lint            -> format the code base to adhere to our styles, and complain about what we cannot do automatically
docs                -> invoke sphinx-build to build the HTML docs and check that all links are valid
package-description -> check that the long description is valid

additional environments:
X                   -> print the positional arguments passed in with echo
codecov             -> [only run on CI]: upload coverage data to codecov (depends on coverage running first)
dev                 -> generate a DEV environment
exit_code           -> commands with several exit codes
notify              -> notify people about the release of the library
release             -> do a release, required posarg of the version number
```

Even though dev is last it's not displayed last.
diff --git a/tests/unit/session/test_list_env.py b/tests/unit/session/test_list_env.py
index 8ccee897..e48e532a 100644
--- a/tests/unit/session/test_list_env.py
+++ b/tests/unit/session/test_list_env.py
@@ -150,3 +150,45 @@ def test_listenvs_packaging_excluded(cmd, initproj):
     result = cmd("-a")
     expected = ["py36", "py27", "py34", "pypi", "docs", "notincluded"]
     assert result.outlines == expected, result.outlines
+
+
+def test_listenvs_all_extra_definition_order_decreasing(cmd, initproj):
+    initproj(
+        "listenvs_all",
+        filedefs={
+            "tox.ini": """
+        [tox]
+        envlist=py36
+
+        [testenv:b]
+        changedir = whatever
+
+        [testenv:a]
+        changedir = docs
+        """
+        },
+    )
+    result = cmd("-a")
+    expected = ["py36", "b", "a"]
+    assert result.outlines == expected
+
+
+def test_listenvs_all_extra_definition_order_increasing(cmd, initproj):
+    initproj(
+        "listenvs_all",
+        filedefs={
+            "tox.ini": """
+        [tox]
+        envlist=py36
+
+        [testenv:a]
+        changedir = whatever
+
+        [testenv:b]
+        changedir = docs
+        """
+        },
+    )
+    result = cmd("-a")
+    expected = ["py36", "a", "b"]
+    assert result.outlines == expected
diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py
index d4d940f7..8b5d2285 100644
--- a/tests/unit/test_config.py
+++ b/tests/unit/test_config.py
@@ -1833,9 +1833,9 @@ class TestGlobalOptions:
         assert config.envlist == ["py35", "py36"]
         monkeypatch.setenv("TOXENV", "ALL")
         config = newconfig([], inisource)
-        assert config.envlist == ["py27", "py35", "py36"]
+        assert config.envlist == ["py36", "py35", "py27"]
         config = newconfig(["-eALL"], inisource)
-        assert config.envlist == ["py27", "py35", "py36"]
+        assert config.envlist == ["py36", "py35", "py27"]
         config = newconfig(["-espam"], inisource)
         assert config.envlist == ["spam"]
 

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest pytest-cov pytest-mock pytest-timeout pytest-xdist pytest-randomly
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
coverage==6.2
distlib==0.3.9
execnet==1.9.0
filelock==3.4.1
importlib-metadata==4.8.3
importlib-resources==5.4.0
iniconfig==1.1.1
packaging==21.3
platformdirs==2.4.0
pluggy==0.13.1
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
pytest-cov==4.0.0
pytest-mock==3.6.1
pytest-randomly==3.10.3
pytest-timeout==2.1.0
pytest-xdist==3.0.2
six==1.17.0
toml==0.10.2
tomli==1.2.3
-e git+https://github.com/tox-dev/tox.git@7dd5448145ab5b291cee45184b0498355fd92808#egg=tox
typing_extensions==4.1.1
virtualenv==20.17.1
zipp==3.6.0

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
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - 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=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - coverage==6.2
      - distlib==0.3.9
      - execnet==1.9.0
      - filelock==3.4.1
      - importlib-metadata==4.8.3
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==0.13.1
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-cov==4.0.0
      - pytest-mock==3.6.1
      - pytest-randomly==3.10.3
      - pytest-timeout==2.1.0
      - pytest-xdist==3.0.2
      - six==1.17.0
      - toml==0.10.2
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - virtualenv==20.17.1
      - zipp==3.6.0
prefix: /opt/conda/envs/tox

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