@@ -1508,7 +1508,7 @@ def f():
15081508 self .assertNotIn ("somethingverywronghehe" , err .getvalue ())
15091509
15101510 def test_name_error_bad_suggestions_do_not_trigger_for_small_names (self ):
1511- vvv = mom = w = id = python = None
1511+ vvv = mom = w = id = pytho = None
15121512
15131513 with self .subTest (name = "b" ):
15141514 try :
@@ -1521,7 +1521,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
15211521 self .assertNotIn ("mom" , err .getvalue ())
15221522 self .assertNotIn ("'id'" , err .getvalue ())
15231523 self .assertNotIn ("'w'" , err .getvalue ())
1524- self .assertNotIn ("'python '" , err .getvalue ())
1524+ self .assertNotIn ("'pytho '" , err .getvalue ())
15251525
15261526 with self .subTest (name = "v" ):
15271527 try :
@@ -1534,7 +1534,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
15341534 self .assertNotIn ("mom" , err .getvalue ())
15351535 self .assertNotIn ("'id'" , err .getvalue ())
15361536 self .assertNotIn ("'w'" , err .getvalue ())
1537- self .assertNotIn ("'python '" , err .getvalue ())
1537+ self .assertNotIn ("'pytho '" , err .getvalue ())
15381538
15391539 with self .subTest (name = "m" ):
15401540 try :
@@ -1547,7 +1547,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
15471547 self .assertNotIn ("mom" , err .getvalue ())
15481548 self .assertNotIn ("'id'" , err .getvalue ())
15491549 self .assertNotIn ("'w'" , err .getvalue ())
1550- self .assertNotIn ("'python '" , err .getvalue ())
1550+ self .assertNotIn ("'pytho '" , err .getvalue ())
15511551
15521552 with self .subTest (name = "py" ):
15531553 try :
@@ -1560,7 +1560,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
15601560 self .assertNotIn ("mom" , err .getvalue ())
15611561 self .assertNotIn ("'id'" , err .getvalue ())
15621562 self .assertNotIn ("'w'" , err .getvalue ())
1563- self .assertNotIn ("'python '" , err .getvalue ())
1563+ self .assertNotIn ("'pytho '" , err .getvalue ())
15641564
15651565 def test_name_error_suggestions_do_not_trigger_for_too_many_locals (self ):
15661566 def f ():
@@ -1716,6 +1716,63 @@ class A:
17161716
17171717 self .assertNotIn ("blech" , err .getvalue ())
17181718
1719+ def test_getattr_error_bad_suggestions_do_not_trigger_for_small_names (self ):
1720+ class MyClass :
1721+ vvv = mom = w = id = pytho = None
1722+
1723+ with self .subTest (name = "b" ):
1724+ try :
1725+ MyClass .b
1726+ except AttributeError as exc :
1727+ with support .captured_stderr () as err :
1728+ sys .__excepthook__ (* sys .exc_info ())
1729+ self .assertNotIn ("you mean" , err .getvalue ())
1730+ self .assertNotIn ("vvv" , err .getvalue ())
1731+ self .assertNotIn ("mom" , err .getvalue ())
1732+ self .assertNotIn ("'id'" , err .getvalue ())
1733+ self .assertNotIn ("'w'" , err .getvalue ())
1734+ self .assertNotIn ("'pytho'" , err .getvalue ())
1735+
1736+ with self .subTest (name = "v" ):
1737+ try :
1738+ MyClass .v
1739+ except AttributeError as exc :
1740+ with support .captured_stderr () as err :
1741+ sys .__excepthook__ (* sys .exc_info ())
1742+ self .assertNotIn ("you mean" , err .getvalue ())
1743+ self .assertNotIn ("vvv" , err .getvalue ())
1744+ self .assertNotIn ("mom" , err .getvalue ())
1745+ self .assertNotIn ("'id'" , err .getvalue ())
1746+ self .assertNotIn ("'w'" , err .getvalue ())
1747+ self .assertNotIn ("'pytho'" , err .getvalue ())
1748+
1749+ with self .subTest (name = "m" ):
1750+ try :
1751+ MyClass .m
1752+ except AttributeError as exc :
1753+ with support .captured_stderr () as err :
1754+ sys .__excepthook__ (* sys .exc_info ())
1755+ self .assertNotIn ("you mean" , err .getvalue ())
1756+ self .assertNotIn ("vvv" , err .getvalue ())
1757+ self .assertNotIn ("mom" , err .getvalue ())
1758+ self .assertNotIn ("'id'" , err .getvalue ())
1759+ self .assertNotIn ("'w'" , err .getvalue ())
1760+ self .assertNotIn ("'pytho'" , err .getvalue ())
1761+
1762+ with self .subTest (name = "py" ):
1763+ try :
1764+ MyClass .py
1765+ except AttributeError as exc :
1766+ with support .captured_stderr () as err :
1767+ sys .__excepthook__ (* sys .exc_info ())
1768+ self .assertNotIn ("you mean" , err .getvalue ())
1769+ self .assertNotIn ("vvv" , err .getvalue ())
1770+ self .assertNotIn ("mom" , err .getvalue ())
1771+ self .assertNotIn ("'id'" , err .getvalue ())
1772+ self .assertNotIn ("'w'" , err .getvalue ())
1773+ self .assertNotIn ("'pytho'" , err .getvalue ())
1774+
1775+
17191776 def test_getattr_suggestions_do_not_trigger_for_big_dicts (self ):
17201777 class A :
17211778 blech = None
0 commit comments