diff options
Diffstat (limited to 'Examples')
-rw-r--r-- | Examples/test-suite/python/python_builtin_runme.py | 11 | ||||
-rw-r--r-- | Examples/test-suite/python_builtin.i | 14 |
2 files changed, 22 insertions, 3 deletions
diff --git a/Examples/test-suite/python/python_builtin_runme.py b/Examples/test-suite/python/python_builtin_runme.py index c41dfc0b1..70990cbfd 100644 --- a/Examples/test-suite/python/python_builtin_runme.py +++ b/Examples/test-suite/python/python_builtin_runme.py @@ -1,6 +1,17 @@ from python_builtin import * if is_python_builtin(): + # Test 0 for default tp_hash + vs = ValueStruct(1234) + h = hash(vs) + d = dict() + d[h] = "hi" + if h not in d: + raise RuntimeError("h should be in d") + h2 = hash(ValueStruct.inout(vs)) + if h != h2: + raise RuntimeError("default tp_hash not working") + # Test 1 for tp_hash if hash(SimpleValue(222)) != 222: raise RuntimeError("tp_hash not working") diff --git a/Examples/test-suite/python_builtin.i b/Examples/test-suite/python_builtin.i index ac1ad9c2d..e2c453d54 100644 --- a/Examples/test-suite/python_builtin.i +++ b/Examples/test-suite/python_builtin.i @@ -10,6 +10,17 @@ bool is_python_builtin() { return false; } #endif %} +// Test 0 for default tp_hash +%inline %{ +struct ValueStruct { + int value; + ValueStruct(int value) : value(value) {} + static ValueStruct *inout(ValueStruct *v) { + return v; + } +}; +%} + // Test 1 for tp_hash #if defined(SWIGPYTHON_BUILTIN) %feature("python:tp_hash") SimpleValue "SimpleValueHashFunction" @@ -19,9 +30,6 @@ bool is_python_builtin() { return false; } struct SimpleValue { int value; SimpleValue(int value) : value(value) {} - static SimpleValue *inout(SimpleValue *sv) { - return sv; - } }; %} |