diff --git a/tests/basics/builtin_compile.py b/tests/basics/builtin_compile.py index a2f2cbe550..41dc746ad1 100644 --- a/tests/basics/builtin_compile.py +++ b/tests/basics/builtin_compile.py @@ -42,4 +42,7 @@ def test(): print("NameError") print(x) # check 'x' still exists as a global + # hashing a compiled function object + print(type(hash(compile("", "", "exec")))) + test() diff --git a/tests/basics/builtin_hash.py b/tests/basics/builtin_hash.py index 704895fbb6..89e1cfb47a 100644 --- a/tests/basics/builtin_hash.py +++ b/tests/basics/builtin_hash.py @@ -5,6 +5,24 @@ print(hash(True)) print({():1}) # hash tuple print({(1,):1}) # hash non-empty tuple print(hash in {hash:1}) # hash function +print(type(hash(list.pop))) # hash checked function (mp_type_checked_fun) +print(type(hash([].pop))) # hash bound method +print(type(hash(object()))) # hash object instance +print(type(hash(super(object, object)))) # hash super +print(type(hash(classmethod(hash)))) # hash classmethod +print(type(hash(staticmethod(hash)))) # hash staticmethod +print(type(hash(iter("")))) # hash string iterator +print(type(hash(iter(b"")))) # hash bytes iterator +print(type(hash(iter(range(0))))) # hash range iterator +print(type(hash(map(None, [])))) # hash map object +print(type(hash(zip([])))) # hash zip object + +def f(x): + def g(): + return x + return g + +print(type(hash(f(1)))) # hash closure try: hash([]) diff --git a/tests/basics/io_buffered_writer.py b/tests/basics/io_buffered_writer.py index c2cedb9912..0e943cb0a9 100644 --- a/tests/basics/io_buffered_writer.py +++ b/tests/basics/io_buffered_writer.py @@ -25,3 +25,6 @@ bts = io.BytesIO() buf = io.BufferedWriter(bts, 1) buf.write(b"foo") print(bts.getvalue()) + +# hashing a BufferedWriter +print(type(hash(buf))) diff --git a/tests/basics/io_buffered_writer.py.exp b/tests/basics/io_buffered_writer.py.exp index d086935a92..2209348f5a 100644 --- a/tests/basics/io_buffered_writer.py.exp +++ b/tests/basics/io_buffered_writer.py.exp @@ -3,3 +3,4 @@ b'foobarfo' b'foobarfoobar' b'foobarfoobar' b'foo' +