@@ -1508,7 +1508,7 @@ def f():
1508
1508
self .assertNotIn ("somethingverywronghehe" , err .getvalue ())
1509
1509
1510
1510
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
1512
1512
1513
1513
with self .subTest (name = "b" ):
1514
1514
try :
@@ -1521,7 +1521,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
1521
1521
self .assertNotIn ("mom" , err .getvalue ())
1522
1522
self .assertNotIn ("'id'" , err .getvalue ())
1523
1523
self .assertNotIn ("'w'" , err .getvalue ())
1524
- self .assertNotIn ("'python '" , err .getvalue ())
1524
+ self .assertNotIn ("'pytho '" , err .getvalue ())
1525
1525
1526
1526
with self .subTest (name = "v" ):
1527
1527
try :
@@ -1534,7 +1534,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
1534
1534
self .assertNotIn ("mom" , err .getvalue ())
1535
1535
self .assertNotIn ("'id'" , err .getvalue ())
1536
1536
self .assertNotIn ("'w'" , err .getvalue ())
1537
- self .assertNotIn ("'python '" , err .getvalue ())
1537
+ self .assertNotIn ("'pytho '" , err .getvalue ())
1538
1538
1539
1539
with self .subTest (name = "m" ):
1540
1540
try :
@@ -1547,7 +1547,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
1547
1547
self .assertNotIn ("mom" , err .getvalue ())
1548
1548
self .assertNotIn ("'id'" , err .getvalue ())
1549
1549
self .assertNotIn ("'w'" , err .getvalue ())
1550
- self .assertNotIn ("'python '" , err .getvalue ())
1550
+ self .assertNotIn ("'pytho '" , err .getvalue ())
1551
1551
1552
1552
with self .subTest (name = "py" ):
1553
1553
try :
@@ -1560,7 +1560,7 @@ def test_name_error_bad_suggestions_do_not_trigger_for_small_names(self):
1560
1560
self .assertNotIn ("mom" , err .getvalue ())
1561
1561
self .assertNotIn ("'id'" , err .getvalue ())
1562
1562
self .assertNotIn ("'w'" , err .getvalue ())
1563
- self .assertNotIn ("'python '" , err .getvalue ())
1563
+ self .assertNotIn ("'pytho '" , err .getvalue ())
1564
1564
1565
1565
def test_name_error_suggestions_do_not_trigger_for_too_many_locals (self ):
1566
1566
def f ():
@@ -1716,6 +1716,63 @@ class A:
1716
1716
1717
1717
self .assertNotIn ("blech" , err .getvalue ())
1718
1718
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
+
1719
1776
def test_getattr_suggestions_do_not_trigger_for_big_dicts (self ):
1720
1777
class A :
1721
1778
blech = None
0 commit comments