Skip to content

gh-133454: Mark tests with many threads that use much memory as bigmem #133456

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions Lib/test/test_asyncio/test_ssl.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,10 @@ async def wait_closed(self, obj):
except (BrokenPipeError, ConnectionError):
pass

def test_create_server_ssl_1(self):
@support.bigmemtest(size=25, memuse=90*2**20, dry_run=False)
def test_create_server_ssl_1(self, size):
CNT = 0 # number of clients that were successful
TOTAL_CNT = 25 # total number of clients that test will create
TOTAL_CNT = size # total number of clients that test will create
TIMEOUT = support.LONG_TIMEOUT # timeout for this test

A_DATA = b'A' * 1024 * BUF_MULTIPLIER
Expand Down Expand Up @@ -1038,9 +1039,10 @@ async def run_main():

self.loop.run_until_complete(run_main())

def test_create_server_ssl_over_ssl(self):
@support.bigmemtest(size=25, memuse=90*2**20, dry_run=False)
def test_create_server_ssl_over_ssl(self, size):
CNT = 0 # number of clients that were successful
TOTAL_CNT = 25 # total number of clients that test will create
TOTAL_CNT = size # total number of clients that test will create
TIMEOUT = support.LONG_TIMEOUT # timeout for this test

A_DATA = b'A' * 1024 * BUF_MULTIPLIER
Expand Down
15 changes: 10 additions & 5 deletions Lib/test/test_importlib/test_threaded_import.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,12 @@ def check_parallel_module_init(self, mock_os):
if verbose:
print("OK.")

def test_parallel_module_init(self):
@support.bigmemtest(size=50, memuse=76*2**20, dry_run=False)
def test_parallel_module_init(self, size):
self.check_parallel_module_init()

def test_parallel_meta_path(self):
@support.bigmemtest(size=50, memuse=76*2**20, dry_run=False)
def test_parallel_meta_path(self, size):
finder = Finder()
sys.meta_path.insert(0, finder)
try:
Expand All @@ -148,7 +150,8 @@ def test_parallel_meta_path(self):
finally:
sys.meta_path.remove(finder)

def test_parallel_path_hooks(self):
@support.bigmemtest(size=50, memuse=76*2**20, dry_run=False)
def test_parallel_path_hooks(self, size):
# Here the Finder instance is only used to check concurrent calls
# to path_hook().
finder = Finder()
Expand Down Expand Up @@ -242,13 +245,15 @@ def target():
__import__(TESTFN)
del sys.modules[TESTFN]

def test_concurrent_futures_circular_import(self):
@support.bigmemtest(size=1, memuse=1.8*2**30, dry_run=False)
def test_concurrent_futures_circular_import(self, size):
# Regression test for bpo-43515
fn = os.path.join(os.path.dirname(__file__),
'partial', 'cfimport.py')
script_helper.assert_python_ok(fn)

def test_multiprocessing_pool_circular_import(self):
@support.bigmemtest(size=1, memuse=1.8*2**30, dry_run=False)
def test_multiprocessing_pool_circular_import(self, size):
# Regression test for bpo-41567
fn = os.path.join(os.path.dirname(__file__),
'partial', 'pool_in_threads.py')
Expand Down
4 changes: 3 additions & 1 deletion Lib/test/test_threadedtempfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import tempfile

from test import support
from test.support import threading_helper
import unittest
import io
Expand Down Expand Up @@ -49,7 +50,8 @@ def run(self):


class ThreadedTempFileTest(unittest.TestCase):
def test_main(self):
@support.bigmemtest(size=NUM_THREADS, memuse=60*2**20, dry_run=False)
def test_main(self, size):
threads = [TempFileGreedy() for i in range(NUM_THREADS)]
with threading_helper.start_threads(threads, startEvent.set):
pass
Expand Down
6 changes: 4 additions & 2 deletions Lib/test/test_threading.py
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,8 @@ def test_enumerate_after_join(self):
finally:
sys.setswitchinterval(old_interval)

def test_join_from_multiple_threads(self):
@support.bigmemtest(size=20, memuse=72*2**20, dry_run=False)
def test_join_from_multiple_threads(self, size):
# Thread.join() should be thread-safe
errors = []

Expand Down Expand Up @@ -1427,7 +1428,8 @@ def worker():
self._run_and_join(script)

@unittest.skipIf(sys.platform in platforms_to_skip, "due to known OS bug")
def test_4_daemon_threads(self):
@support.bigmemtest(size=40, memuse=70*2**20, dry_run=False)
def test_4_daemon_threads(self, size):
# Check that a daemon thread cannot crash the interpreter on shutdown
# by manipulating internal structures that are being disposed of in
# the main thread.
Expand Down
Loading