Skip to content

Commit 0e4a263

Browse files
authored
Add tests
1 parent 351ac36 commit 0e4a263

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

Lib/test/datetimetester.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7293,6 +7293,32 @@ def gen():
72937293
res = script_helper.assert_python_ok('-c', script)
72947294
self.assertFalse(res.err)
72957295

7296+
def test_remain_only_one_module(self):
7297+
script = textwrap.dedent("""
7298+
import sys
7299+
import gc
7300+
import weakref
7301+
ws = weakref.WeakSet()
7302+
for _ in range(3):
7303+
import _datetime
7304+
ws.add(_datetime)
7305+
del sys.modules["_datetime"]
7306+
del _datetime
7307+
gc.collect()
7308+
assert len(ws) == 1
7309+
""")
7310+
res = script_helper.assert_python_ok('-c', script)
7311+
self.assertFalse(res.err)
7312+
7313+
@unittest.skipIf(not support.Py_DEBUG, "Debug builds only")
7314+
def test_no_leak(self):
7315+
script = textwrap.dedent("""
7316+
import datetime
7317+
datetime.datetime.strptime('20000101', '%Y%m%d').strftime('%Y%m%d')
7318+
""")
7319+
res = script_helper.assert_python_ok('-X', 'showrefcount', '-c', script)
7320+
self.assertIn(b'[0 refs, 0 blocks]', res.err)
7321+
72967322

72977323
def load_tests(loader, standard_tests, pattern):
72987324
standard_tests.addTest(ZoneInfoCompleteTest())

0 commit comments

Comments
 (0)