diff options
author | Moshe Zadka <moshez@math.huji.ac.il> | 2001-01-29 06:21:17 (GMT) |
---|---|---|
committer | Moshe Zadka <moshez@math.huji.ac.il> | 2001-01-29 06:21:17 (GMT) |
commit | 497671e094b7f18221cc1f872bfe68afc57c860b (patch) | |
tree | 82c5fb1c0b85a8670c71c9146ee9c5b34c08a43e /Lib | |
parent | 2beeb22533acf5fbc29e650003a79d633aecffc0 (diff) | |
download | cpython-497671e094b7f18221cc1f872bfe68afc57c860b.zip cpython-497671e094b7f18221cc1f872bfe68afc57c860b.tar.gz cpython-497671e094b7f18221cc1f872bfe68afc57c860b.tar.bz2 |
The one thing I love more then writing code is deleting code.
* Removed func_hash and func_compare, so they can be treated as immutable
content-less objects (address hash and comparison)
* Added tests to that affect to test_funcattrs (also testing func_code
is writable)
* Reverse meaning of tests in test_opcodes which checked identical code
gets identical functions
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_funcattrs.py | 19 | ||||
-rw-r--r-- | Lib/test/test_opcodes.py | 14 |
2 files changed, 26 insertions, 7 deletions
diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py index 9c07a8f..0591ba6 100644 --- a/Lib/test/test_funcattrs.py +++ b/Lib/test/test_funcattrs.py @@ -154,3 +154,22 @@ else: raise TestFailed # This isn't specifically related to function attributes, but it does test a # core dump regression in funcobject.c del another.func_defaults + +def foo(): + pass + +def bar(): + pass + +def temp(): + print 1 + +if foo==bar: raise TestFailed + +d={} +d[foo] = 1 + +foo.func_code = temp.func_code + +d[foo] + diff --git a/Lib/test/test_opcodes.py b/Lib/test/test_opcodes.py index 5381e4d..31569d5 100644 --- a/Lib/test/test_opcodes.py +++ b/Lib/test/test_opcodes.py @@ -50,12 +50,12 @@ b = BClass() try: raise AClass, b except BClass, v: - if v != b: raise TestFailed -else: raise TestFailed + if v != b: raise TestFailed, "v!=b" +else: raise TestFailed, "no exception" try: raise b except AClass, v: - if v != b: raise TestFailed + if v != b: raise TestFailed, "v!=b AClass" # not enough arguments try: raise BClass, a @@ -64,21 +64,21 @@ except TypeError: pass try: raise DClass, a except DClass, v: if not isinstance(v, DClass): - raise TestFailed + raise TestFailed, "v not DClass" print '2.3 comparing function objects' f = eval('lambda: None') g = eval('lambda: None') -if f != g: raise TestFailed +if f == g: raise TestFailed, "functions should not be same" f = eval('lambda a: a') g = eval('lambda a: a') -if f != g: raise TestFailed +if f == g: raise TestFailed, "functions should not be same" f = eval('lambda a=1: a') g = eval('lambda a=1: a') -if f != g: raise TestFailed +if f == g: raise TestFailed, "functions should not be same" f = eval('lambda: 0') g = eval('lambda: 1') |