summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Decat <pdecat@gmail.com>2023-01-05 16:44:35 +0100
committerGitHub <noreply@github.com>2023-01-05 07:44:35 -0800
commitaf4b5580111b3fec8d9d189861f915081b33c998 (patch)
tree62e77d807701bdfb9754bcf40289a367057cb833
parentf07335d358282d47fa593de9b31bb94e950fb782 (diff)
downloadtox-git-af4b5580111b3fec8d9d189861f915081b33c998.tar.gz
Also accept tab after colon before factor filter expansion (#2823)
-rw-r--r--docs/changelog/2823.bugfix.rst1
-rw-r--r--src/tox/config/loader/ini/factor.py5
-rw-r--r--tests/config/loader/ini/test_factor.py6
3 files changed, 10 insertions, 2 deletions
diff --git a/docs/changelog/2823.bugfix.rst b/docs/changelog/2823.bugfix.rst
new file mode 100644
index 00000000..7b0b6e21
--- /dev/null
+++ b/docs/changelog/2823.bugfix.rst
@@ -0,0 +1 @@
+Also accept tab after colon before factor filter expansion - by :user:`pdecat`.
diff --git a/src/tox/config/loader/ini/factor.py b/src/tox/config/loader/ini/factor.py
index c429efb1..099948cd 100644
--- a/src/tox/config/loader/ini/factor.py
+++ b/src/tox/config/loader/ini/factor.py
@@ -49,8 +49,9 @@ def explode_factor(group: list[tuple[str, bool]]) -> str:
def expand_factors(value: str) -> Iterator[tuple[list[list[tuple[str, bool]]] | None, str]]:
for line in value.split("\n"):
factors: list[list[tuple[str, bool]]] | None = None
- marker_at, content = line.find(":"), line
- if marker_at != -1 and (len(line) == marker_at + 1 or line[marker_at + 1] == " "):
+ marker_search = re.search(r":(\s|$)", line)
+ marker_at, content = marker_search.start() if marker_search else -1, line
+ if marker_at != -1:
try:
factors = list(find_factor_groups(line[:marker_at].strip()))
except ValueError:
diff --git a/tests/config/loader/ini/test_factor.py b/tests/config/loader/ini/test_factor.py
index cec786b3..2a6f405c 100644
--- a/tests/config/loader/ini/test_factor.py
+++ b/tests/config/loader/ini/test_factor.py
@@ -31,6 +31,8 @@ def complex_example() -> str:
extra: extra
more-default
no:space
+ trailingcolon:
+ tab:\ttab
""",
)
@@ -50,6 +52,8 @@ def test_factor_env_discover(complex_example: str) -> None:
"c",
"d",
"extra",
+ "trailingcolon",
+ "tab",
]
@@ -67,6 +71,8 @@ def test_factor_env_discover(complex_example: str) -> None:
"pi-b-dev",
"c",
"extra",
+ "trailingcolon",
+ "tab",
],
)
def test_factor_env_filter(env: str, complex_example: str) -> None: