summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2021-08-18 14:35:59 +0100
committerGitHub <noreply@github.com>2021-08-18 14:35:59 +0100
commit2c13bf12aeb3b30c052dd11d3ec1a1fe38d0239a (patch)
treef81e7e40a32df80d4e4b18fbb33386b747a953ec
parent78176651933ef954111a7e392b6914df938b7c8b (diff)
downloadtox-git-2c13bf12aeb3b30c052dd11d3ec1a1fe38d0239a.tar.gz
Fix parallel show output not working (#2161)
When there was also a package built in the given run. Signed-off-by: Bernát Gábor <bgabor8@bloomberg.net>
-rw-r--r--docs/changelog/2161.bugfix.rst1
-rw-r--r--src/tox/session/cmd/run/common.py6
-rw-r--r--tests/session/cmd/test_parallel.py8
3 files changed, 12 insertions, 3 deletions
diff --git a/docs/changelog/2161.bugfix.rst b/docs/changelog/2161.bugfix.rst
new file mode 100644
index 00000000..e8e87c37
--- /dev/null
+++ b/docs/changelog/2161.bugfix.rst
@@ -0,0 +1 @@
+Parallel show output not working when there's a packaging phase in the run - by :user:`gaborbernat`.
diff --git a/src/tox/session/cmd/run/common.py b/src/tox/session/cmd/run/common.py
index ae844eae..857c59a7 100644
--- a/src/tox/session/cmd/run/common.py
+++ b/src/tox/session/cmd/run/common.py
@@ -328,9 +328,9 @@ def _handle_one_run_done(result: ToxEnvRunResult, spinner: ToxSpinner, state: St
out_err = tox_env.close_and_read_out_err() # sync writes from buffer to stdout/stderr
pkg_out_err_list = []
for package_env in tox_env.package_envs:
- out_err = package_env.close_and_read_out_err()
- if out_err is not None: # pragma: no branch
- pkg_out_err_list.append(out_err)
+ pkg_out_err = package_env.close_and_read_out_err()
+ if pkg_out_err is not None: # pragma: no branch
+ pkg_out_err_list.append(pkg_out_err)
if not success or tox_env.conf["parallel_show_output"]:
for pkg_out_err in pkg_out_err_list:
state.log_handler.write_out_err(pkg_out_err) # pragma: no cover
diff --git a/tests/session/cmd/test_parallel.py b/tests/session/cmd/test_parallel.py
index 286328d2..242370e4 100644
--- a/tests/session/cmd/test_parallel.py
+++ b/tests/session/cmd/test_parallel.py
@@ -1,4 +1,5 @@
from argparse import ArgumentTypeError
+from pathlib import Path
import pytest
from pytest_mock import MockerFixture
@@ -98,3 +99,10 @@ def test_parallel_run_live_out(tox_project: ToxProjectCreator) -> None:
assert "python -c" in outcome.out
assert "run a" in outcome.out
assert "run b" in outcome.out
+
+
+def test_parallel_show_output_with_pkg(tox_project: ToxProjectCreator, demo_pkg_inline: Path) -> None:
+ ini = "[testenv]\nparallel_show_output=True\ncommands=python -c 'print(\"r {env_name}\")'"
+ project = tox_project({"tox.ini": ini})
+ result = project.run("p", "--root", str(demo_pkg_inline))
+ assert "r py" in result.out