diff options
author | Armin Rigo <arigo@tunes.org> | 2006-06-28 10:49:51 (GMT) |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2006-06-28 10:49:51 (GMT) |
commit | d77ef8fa515e1420f141b5a9d8de7ca7cb6a8fc4 (patch) | |
tree | 4ae951ba97c6e9d83315d17aee623b9d4efa497c /Lib/test/crashers | |
parent | 999a336ad7aaf6819a0e703f87dbc0bc9f599030 (diff) | |
download | cpython-d77ef8fa515e1420f141b5a9d8de7ca7cb6a8fc4.zip cpython-d77ef8fa515e1420f141b5a9d8de7ca7cb6a8fc4.tar.gz cpython-d77ef8fa515e1420f141b5a9d8de7ca7cb6a8fc4.tar.bz2 |
A couple of crashers of the "won't fix" kind.
Diffstat (limited to 'Lib/test/crashers')
-rw-r--r-- | Lib/test/crashers/bogus_code_obj.py | 9 | ||||
-rw-r--r-- | Lib/test/crashers/gc_inspection.py | 17 |
2 files changed, 26 insertions, 0 deletions
diff --git a/Lib/test/crashers/bogus_code_obj.py b/Lib/test/crashers/bogus_code_obj.py new file mode 100644 index 0000000..5438d91 --- /dev/null +++ b/Lib/test/crashers/bogus_code_obj.py @@ -0,0 +1,9 @@ +""" +Broken bytecode objects can easily crash the interpreter. +""" + +import types + +co = types.CodeType(0, 0, 0, 0, '\x04\x71\x00\x00', (), + (), (), '', '', 1, '') +exec co diff --git a/Lib/test/crashers/gc_inspection.py b/Lib/test/crashers/gc_inspection.py new file mode 100644 index 0000000..b439ad9 --- /dev/null +++ b/Lib/test/crashers/gc_inspection.py @@ -0,0 +1,17 @@ +""" +gc.get_referrers() can be used to see objects before they are fully built. +""" + +import gc + + +def g(): + marker = object() + yield marker + # now the marker is in the tuple being constructed + [tup] = [x for x in gc.get_referrers(marker) if type(x) is tuple] + print tup + print tup[1] + + +tuple(g()) |