diff --git a/Examples/test-suite/python/cpp_static_runme.py b/Examples/test-suite/python/cpp_static_runme.py index 760fb6791..cd7398fbb 100644 --- a/Examples/test-suite/python/cpp_static_runme.py +++ b/Examples/test-suite/python/cpp_static_runme.py @@ -45,3 +45,28 @@ if not cvar.StaticBase_statty == 22: raise RuntimeError("cvar statty not 22") if not StaticBase.grab_statty_base() == 22: raise RuntimeError("cvar statty not 22") if not cvar.StaticDerived_statty == 222: raise RuntimeError("cvar statty not 222") if not StaticDerived.grab_statty_derived() == 222: raise RuntimeError("cvar statty not 222") + +# Restore +cvar.StaticMemberTest_static_int = 99 +cvar.StaticBase_statty = 11 +cvar.StaticDerived_statty = 111 + +# Low-level layer testing +if not is_python_builtin(): + from cpp_static import _cpp_static + if not _cpp_static.StaticMemberTest_static_int_get() == 99: raise RuntimeError("low-level static_int not 99") + if not StaticMemberTest.grab_int() == 99: raise RuntimeError("low-level static_int not 99") + _cpp_static.StaticMemberTest_static_int_set(10) + if not _cpp_static.StaticMemberTest_static_int_get() == 10: raise RuntimeError("low-level static_int not 10") + if not StaticMemberTest.grab_int() == 10: raise RuntimeError("low-level static_int not 10") + + if not _cpp_static.StaticBase_statty_get() == 11: raise RuntimeError("low-level statty not 11") + if not StaticBase.grab_statty_base() == 11: raise RuntimeError("low-level statty not 11") + if not _cpp_static.StaticDerived_statty_get() == 111: raise RuntimeError("low-level statty not 111") + if not StaticDerived.grab_statty_derived() == 111: raise RuntimeError("low-level statty not 111") + _cpp_static.StaticBase_statty_set(22) + _cpp_static.StaticDerived_statty_set(222) + if not _cpp_static.StaticBase_statty_get() == 22: raise RuntimeError("low-level statty not 22") + if not StaticBase.grab_statty_base() == 22: raise RuntimeError("low-level statty not 22") + if not _cpp_static.StaticDerived_statty_get() == 222: raise RuntimeError("low-level statty not 222") + if not StaticDerived.grab_statty_derived() == 222: raise RuntimeError("low-level statty not 222") diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx index 21392cc2e..7c9603a3d 100755 --- a/Source/Modules/python.cxx +++ b/Source/Modules/python.cxx @@ -2426,7 +2426,7 @@ public: void add_method(String *name, String *function, int kw, Node *n = 0, int funpack = 0, int num_required = -1, int num_arguments = -1) { String * meth_str = NewString(""); if (!kw) { - if (n && funpack) { + if (funpack) { if (num_required == 0 && num_arguments == 0) { Printf(meth_str, "\t { \"%s\", %s, METH_NOARGS, ", name, function); } else if (num_required == 1 && num_arguments == 1) {