mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
Add more details in test_unittest (GH-99626)
(cherry picked from commit 653e563d80)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
9dda9020ab
commit
555e76e907
2 changed files with 74 additions and 42 deletions
|
|
@ -49,69 +49,87 @@ def setUp(self):
|
|||
self.addCleanup(support.gc_collect)
|
||||
|
||||
def test_full_cycle(self):
|
||||
expected = ['setUp',
|
||||
'asyncSetUp',
|
||||
'test',
|
||||
'asyncTearDown',
|
||||
'tearDown',
|
||||
'cleanup6',
|
||||
'cleanup5',
|
||||
'cleanup4',
|
||||
'cleanup3',
|
||||
'cleanup2',
|
||||
'cleanup1']
|
||||
class Test(unittest.IsolatedAsyncioTestCase):
|
||||
def setUp(self):
|
||||
self.assertEqual(events, [])
|
||||
events.append('setUp')
|
||||
VAR.set(VAR.get() + ('setUp',))
|
||||
|
||||
async def asyncSetUp(self):
|
||||
self.assertEqual(events, ['setUp'])
|
||||
events.append('asyncSetUp')
|
||||
VAR.set(VAR.get() + ('asyncSetUp',))
|
||||
self.addAsyncCleanup(self.on_cleanup1)
|
||||
|
||||
async def test_func(self):
|
||||
self.assertEqual(events, ['setUp',
|
||||
'asyncSetUp'])
|
||||
events.append('test')
|
||||
VAR.set(VAR.get() + ('test',))
|
||||
self.addCleanup(self.on_cleanup1)
|
||||
self.addAsyncCleanup(self.on_cleanup2)
|
||||
|
||||
async def asyncSetUp(self):
|
||||
self.assertEqual(events, expected[:1])
|
||||
events.append('asyncSetUp')
|
||||
VAR.set(VAR.get() + ('asyncSetUp',))
|
||||
self.addCleanup(self.on_cleanup3)
|
||||
self.addAsyncCleanup(self.on_cleanup4)
|
||||
|
||||
async def test_func(self):
|
||||
self.assertEqual(events, expected[:2])
|
||||
events.append('test')
|
||||
VAR.set(VAR.get() + ('test',))
|
||||
self.addCleanup(self.on_cleanup5)
|
||||
self.addAsyncCleanup(self.on_cleanup6)
|
||||
|
||||
async def asyncTearDown(self):
|
||||
self.assertEqual(events, ['setUp',
|
||||
'asyncSetUp',
|
||||
'test'])
|
||||
self.assertEqual(events, expected[:3])
|
||||
VAR.set(VAR.get() + ('asyncTearDown',))
|
||||
events.append('asyncTearDown')
|
||||
|
||||
def tearDown(self):
|
||||
self.assertEqual(events, ['setUp',
|
||||
'asyncSetUp',
|
||||
'test',
|
||||
'asyncTearDown'])
|
||||
self.assertEqual(events, expected[:4])
|
||||
events.append('tearDown')
|
||||
VAR.set(VAR.get() + ('tearDown',))
|
||||
|
||||
async def on_cleanup1(self):
|
||||
self.assertEqual(events, ['setUp',
|
||||
'asyncSetUp',
|
||||
'test',
|
||||
'asyncTearDown',
|
||||
'tearDown',
|
||||
'cleanup2'])
|
||||
def on_cleanup1(self):
|
||||
self.assertEqual(events, expected[:10])
|
||||
events.append('cleanup1')
|
||||
VAR.set(VAR.get() + ('cleanup1',))
|
||||
nonlocal cvar
|
||||
cvar = VAR.get()
|
||||
|
||||
async def on_cleanup2(self):
|
||||
self.assertEqual(events, ['setUp',
|
||||
'asyncSetUp',
|
||||
'test',
|
||||
'asyncTearDown',
|
||||
'tearDown'])
|
||||
self.assertEqual(events, expected[:9])
|
||||
events.append('cleanup2')
|
||||
VAR.set(VAR.get() + ('cleanup2',))
|
||||
|
||||
def on_cleanup3(self):
|
||||
self.assertEqual(events, expected[:8])
|
||||
events.append('cleanup3')
|
||||
VAR.set(VAR.get() + ('cleanup3',))
|
||||
|
||||
async def on_cleanup4(self):
|
||||
self.assertEqual(events, expected[:7])
|
||||
events.append('cleanup4')
|
||||
VAR.set(VAR.get() + ('cleanup4',))
|
||||
|
||||
def on_cleanup5(self):
|
||||
self.assertEqual(events, expected[:6])
|
||||
events.append('cleanup5')
|
||||
VAR.set(VAR.get() + ('cleanup5',))
|
||||
|
||||
async def on_cleanup6(self):
|
||||
self.assertEqual(events, expected[:5])
|
||||
events.append('cleanup6')
|
||||
VAR.set(VAR.get() + ('cleanup6',))
|
||||
|
||||
events = []
|
||||
cvar = ()
|
||||
test = Test("test_func")
|
||||
result = test.run()
|
||||
self.assertEqual(result.errors, [])
|
||||
self.assertEqual(result.failures, [])
|
||||
expected = ['setUp', 'asyncSetUp', 'test',
|
||||
'asyncTearDown', 'tearDown', 'cleanup2', 'cleanup1']
|
||||
self.assertEqual(events, expected)
|
||||
self.assertEqual(cvar, tuple(expected))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue