(self)
| 50 | self.addCleanup(support.gc_collect) |
| 51 | |
| 52 | def test_full_cycle(self): |
| 53 | expected = ['setUp', |
| 54 | 'asyncSetUp', |
| 55 | 'test', |
| 56 | 'asyncTearDown', |
| 57 | 'tearDown', |
| 58 | 'cleanup6', |
| 59 | 'cleanup5', |
| 60 | 'cleanup4', |
| 61 | 'cleanup3', |
| 62 | 'cleanup2', |
| 63 | 'cleanup1'] |
| 64 | class Test(unittest.IsolatedAsyncioTestCase): |
| 65 | def setUp(self): |
| 66 | self.assertEqual(events, []) |
| 67 | events.append('setUp') |
| 68 | VAR.set(VAR.get() + ('setUp',)) |
| 69 | self.addCleanup(self.on_cleanup1) |
| 70 | self.addAsyncCleanup(self.on_cleanup2) |
| 71 | |
| 72 | async def asyncSetUp(self): |
| 73 | self.assertEqual(events, expected[:1]) |
| 74 | events.append('asyncSetUp') |
| 75 | VAR.set(VAR.get() + ('asyncSetUp',)) |
| 76 | self.addCleanup(self.on_cleanup3) |
| 77 | self.addAsyncCleanup(self.on_cleanup4) |
| 78 | |
| 79 | async def test_func(self): |
| 80 | self.assertEqual(events, expected[:2]) |
| 81 | events.append('test') |
| 82 | VAR.set(VAR.get() + ('test',)) |
| 83 | self.addCleanup(self.on_cleanup5) |
| 84 | self.addAsyncCleanup(self.on_cleanup6) |
| 85 | |
| 86 | async def asyncTearDown(self): |
| 87 | self.assertEqual(events, expected[:3]) |
| 88 | VAR.set(VAR.get() + ('asyncTearDown',)) |
| 89 | events.append('asyncTearDown') |
| 90 | |
| 91 | def tearDown(self): |
| 92 | self.assertEqual(events, expected[:4]) |
| 93 | events.append('tearDown') |
| 94 | VAR.set(VAR.get() + ('tearDown',)) |
| 95 | |
| 96 | def on_cleanup1(self): |
| 97 | self.assertEqual(events, expected[:10]) |
| 98 | events.append('cleanup1') |
| 99 | VAR.set(VAR.get() + ('cleanup1',)) |
| 100 | nonlocal cvar |
| 101 | cvar = VAR.get() |
| 102 | |
| 103 | async def on_cleanup2(self): |
| 104 | self.assertEqual(events, expected[:9]) |
| 105 | events.append('cleanup2') |
| 106 | VAR.set(VAR.get() + ('cleanup2',)) |
| 107 | |
| 108 | def on_cleanup3(self): |
| 109 | self.assertEqual(events, expected[:8]) |
nothing calls this directly
no test coverage detected