swig/Examples/test-suite/python/python_nondynamic_runme.py
Stefan Zager 002598680e This commit contains all changes to the regression tests which
are necessitated by the -builtin option.  Notes on individual tests
follow.

grouping_runme.py : 'cvar' syntax for class variables is obsolete.

li_std_string_extra_runme.py :
li_std_wstring_runme.py : Reverse binary operators (e.g., __radd__)
are not supported.

threads_exception_runme.py :
director_exception_runme.py :
exception_order_runme.py : Throwing wrapped objects as exceptions
is not supported.

default_constructor_runme.py : Redundant functional interface
(e.g., 'module.new_Foo()' for 'module.Foo()') is not provided.

python_nondynamic_runme.py : I believe that this test script doesn't
actually test the %pythonnondynamic feature correctly, and I believe
that the feature itself is implemented incorrectly.  With the -builtin
option, %pythonnondynamic *is* implemented correctly, and I have
modified the test script to exercise it correctly.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/szager-python-builtin@12416 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-01-30 04:13:58 +00:00

43 lines
573 B
Python

import python_nondynamic
aa = python_nondynamic.A()
aa.a = 1
aa.b = 2
try:
aa.c = 2
err = 0
except:
err = 1
if not err:
raise RuntimeError, "A is not static"
class B(python_nondynamic.A):
c = 4
def __init__(self):
python_nondynamic.A.__init__(self)
pass
pass
bb = B()
# This is questionable. Trying to set B.c? That's not what it does.
# Should fail, I think, but it doesn't.
#bb.c = 3
try:
bb.d = 2
err = 0
except:
err = 1
if not err:
raise RuntimeError, "B is not static"
cc = python_nondynamic.C()
cc.d = 3