| import threading |
| import unittest |
| |
| from test import support |
| from test.support import import_helper |
| from test.support import threading_helper |
| # Raise SkipTest if subinterpreters not supported. |
| import_helper.import_module('_interpreters') |
| from test.support import interpreters |
| from .utils import TestBase |
| |
| |
| class StressTests(TestBase): |
| |
| # In these tests we generally want a lot of interpreters, |
| # but not so many that any test takes too long. |
| |
| @support.requires_resource('cpu') |
| def test_create_many_sequential(self): |
| alive = [] |
| for _ in range(100): |
| interp = interpreters.create() |
| alive.append(interp) |
| |
| @support.requires_resource('cpu') |
| def test_create_many_threaded(self): |
| alive = [] |
| def task(): |
| interp = interpreters.create() |
| alive.append(interp) |
| threads = (threading.Thread(target=task) for _ in range(200)) |
| with threading_helper.start_threads(threads): |
| pass |
| |
| |
| if __name__ == '__main__': |
| # Test needs to be a package, so we can do relative imports. |
| unittest.main() |