diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2019-02-25 17:01:22 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2019-04-09 08:01:19 -0400 |
commit | cd15bc3e8dbed5b027497185b7bb7f30f2c49ea8 (patch) | |
tree | ea57abe4a060d2f5fe80fd478515b6c67167f151 | |
parent | 7c542266803c64598e74e8ef2dc832a5fb00758d (diff) | |
download | python-coveragepy-git-cd15bc3e8dbed5b027497185b7bb7f30f2c49ea8.tar.gz |
A thread stress test
(cherry picked from commit bc948ac1a5dca4d0a305a265de157d7505e4a4b2)
-rw-r--r-- | tests/test_data.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_data.py b/tests/test_data.py index 3f96288f..417f9771 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -9,6 +9,7 @@ import os import os.path import re import sqlite3 +import threading import mock @@ -455,6 +456,21 @@ class CoverageDataTest(DataTestHelpers, CoverageTest): covdata2.read() self.assert_arcs3_data(covdata2) + def test_thread_stress(self): + covdata = CoverageData() + + def thread_main(): + """Every thread will try to add the same data.""" + covdata.add_lines(LINES_1) + + threads = [threading.Thread(target=thread_main) for _ in range(10)] + for t in threads: + t.start() + for t in threads: + t.join() + + self.assert_lines1_data(covdata) + class CoverageDataTestInTempDir(DataTestHelpers, CoverageTest): """Tests of CoverageData that need a temporary directory to make files.""" |