Skip to content

Commit 5d7f637

Browse files
Tidy test_setattr cleanup
Co-authored-by: Alex Waygood <alex.waygood@gmail.com>
1 parent 8032414 commit 5d7f637

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

src/test_typing_extensions.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2221,32 +2221,36 @@ def test_or_and_ror(self):
22212221
def test_setattr(self):
22222222
origin = collections.abc.Generator
22232223
alias = typing_extensions.Generator
2224+
original_name = alias._name
2225+
2226+
def cleanup():
2227+
for obj in origin, alias:
2228+
for attr in 'foo', '__dunder__':
2229+
try:
2230+
delattr(obj, attr)
2231+
except Exception:
2232+
pass
2233+
try:
2234+
alias._name = original_name
2235+
except Exception:
2236+
pass
2237+
2238+
self.addCleanup(cleanup)
22242239

22252240
# Attribute assignment on generic alias sets attribute on origin
22262241
alias.foo = 1
22272242
self.assertEqual(alias.foo, 1)
22282243
self.assertEqual(origin.foo, 1)
2229-
# cleanup
2230-
del origin.foo
2231-
self.assertRaises(AttributeError, lambda: alias.foo)
2232-
self.assertRaises(AttributeError, lambda: origin.foo)
2233-
22342244
# Except for dunders...
22352245
alias.__dunder__ = 2
22362246
self.assertEqual(alias.__dunder__, 2)
22372247
self.assertRaises(AttributeError, lambda: origin.__dunder__)
2238-
# cleanup
2239-
del alias.__dunder__
2240-
self.assertRaises(AttributeError, lambda: alias.__dunder___)
22412248

22422249
# ...and certain known attributes
22432250
old_name = alias._name
22442251
alias._name = "NewName"
22452252
self.assertEqual(alias._name, "NewName")
22462253
self.assertRaises(AttributeError, lambda: origin._name)
2247-
# cleanup
2248-
alias._name = old_name
2249-
self.assertEqual(alias._name, old_name)
22502254

22512255

22522256
class OtherABCTests(BaseTestCase):

0 commit comments

Comments
 (0)