diff --git a/Lib/test/output/test_opcodes b/Lib/test/output/test_opcodes index 8b788850a32..4685571b458 100644 --- a/Lib/test/output/test_opcodes +++ b/Lib/test/output/test_opcodes @@ -3,3 +3,4 @@ test_opcodes XXX Not yet fully implemented 2.1 try inside for loop 2.2 raise class exceptions +2.3 comparing function objects diff --git a/Lib/test/test_opcodes.py b/Lib/test/test_opcodes.py index b1e944b4d2f..656e00af243 100644 --- a/Lib/test/test_opcodes.py +++ b/Lib/test/test_opcodes.py @@ -57,3 +57,38 @@ class CClass: pass try: raise BClass, a except TypeError: pass + + +print '2.3 comparing function objects' + +f = eval('lambda: None') +g = eval('lambda: None') +if f != g: raise TestFailed + +f = eval('lambda a: a') +g = eval('lambda a: a') +if f != g: raise TestFailed + +f = eval('lambda a=1: a') +g = eval('lambda a=1: a') +if f != g: raise TestFailed + +f = eval('lambda: 0') +g = eval('lambda: 1') +if f == g: raise TestFailed + +f = eval('lambda: None') +g = eval('lambda a: None') +if f == g: raise TestFailed + +f = eval('lambda a: None') +g = eval('lambda b: None') +if f == g: raise TestFailed + +f = eval('lambda a: None') +g = eval('lambda a=None: None') +if f == g: raise TestFailed + +f = eval('lambda a=0: None') +g = eval('lambda a=1: None') +if f == g: raise TestFailed