diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-11-11 07:46:11 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-11-11 07:55:10 -0500 |
commit | e30a444a623870f1f35450186c6fc26d464b49f3 (patch) | |
tree | 6018f7be2e1f35c10087af13d4145e59688be4d5 /tests/test_concurrency.py | |
parent | 1b94835aac3268a32bfa4ce0df585dbb97457a06 (diff) | |
download | python-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.py | 24 |
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. |