summaryrefslogtreecommitdiff
path: root/tests/basics/builtin_getattr.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/builtin_getattr.py')
-rw-r--r--tests/basics/builtin_getattr.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/basics/builtin_getattr.py b/tests/basics/builtin_getattr.py
index 59cb7e7f7..afa4ab329 100644
--- a/tests/basics/builtin_getattr.py
+++ b/tests/basics/builtin_getattr.py
@@ -16,3 +16,15 @@ print(getattr(a, "meth")(5))
print(getattr(a, "_none_such", 123))
print(getattr(list, "foo", 456))
print(getattr(a, "va" + "r2"))
+
+# test a class that defines __getattr__ and may raise AttributeError
+class B:
+ def __getattr__(self, attr):
+ if attr == "a":
+ return attr
+ else:
+ raise AttributeError
+b = B()
+print(getattr(b, "a"))
+print(getattr(b, "a", "default"))
+print(getattr(b, "b", "default"))