summaryrefslogtreecommitdiff
path: root/tests/test_concurrency.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-11-11 07:46:11 -0500
committerNed Batchelder <ned@nedbatchelder.com>2021-11-11 07:55:10 -0500
commite30a444a623870f1f35450186c6fc26d464b49f3 (patch)
tree6018f7be2e1f35c10087af13d4145e59688be4d5 /tests/test_concurrency.py
parent1b94835aac3268a32bfa4ce0df585dbb97457a06 (diff)
downloadpython-coveragepy-git-e30a444a623870f1f35450186c6fc26d464b49f3.tar.gz
test(refactor): convert looping tests to parametrize
Diffstat (limited to 'tests/test_concurrency.py')
-rw-r--r--tests/test_concurrency.py24
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/test_concurrency.py b/tests/test_concurrency.py
index 6db75e69..0f5b07eb 100644
--- a/tests/test_concurrency.py
+++ b/tests/test_concurrency.py
@@ -429,7 +429,11 @@ class MultiprocessingTest(CoverageTest):
code, expected_out, eventlet, nprocs, concurrency="multiprocessing,eventlet"
)
- def test_multiprocessing_with_branching(self):
+ @pytest.mark.parametrize("start_method", ["fork", "spawn"])
+ def test_multiprocessing_with_branching(self, start_method):
+ if start_method not in multiprocessing.get_all_start_methods():
+ pytest.skip(f"{start_method} not supported here")
+
nprocs = 3
upto = 30
code = (SQUARE_OR_CUBE_WORK + MULTI_CODE).format(NPROCS=nprocs, UPTO=upto)
@@ -443,19 +447,15 @@ class MultiprocessingTest(CoverageTest):
omit = */site-packages/*
""")
- for start_method in ["fork", "spawn"]:
- if start_method and start_method not in multiprocessing.get_all_start_methods():
- continue
-
- out = self.run_command(f"coverage run --rcfile=multi.rc multi.py {start_method}")
- assert out.rstrip() == expected_out
+ out = self.run_command(f"coverage run --rcfile=multi.rc multi.py {start_method}")
+ assert out.rstrip() == expected_out
- out = self.run_command("coverage combine -q") # sneak in a test of -q
- assert out == ""
- out = self.run_command("coverage report -m")
+ out = self.run_command("coverage combine -q") # sneak in a test of -q
+ assert out == ""
+ out = self.run_command("coverage report -m")
- last_line = self.squeezed_lines(out)[-1]
- assert re.search(r"TOTAL \d+ 0 \d+ 0 100%", last_line)
+ last_line = self.squeezed_lines(out)[-1]
+ assert re.search(r"TOTAL \d+ 0 \d+ 0 100%", last_line)
def test_multiprocessing_bootstrap_error_handling(self):
# An exception during bootstrapping will be reported.