[ctypes-commit] ctypes/unittests test_paramflags.py,1.6,1.6.2.1
Brought to you by:
theller
From: Thomas H. <th...@us...> - 2005-09-29 12:38:44
|
Update of /cvsroot/ctypes/ctypes/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20727 Modified Files: Tag: branch_1_0 test_paramflags.py Log Message: Test the errcheck protocol, and some tests for later. Index: test_paramflags.py =================================================================== RCS file: /cvsroot/ctypes/ctypes/unittests/test_paramflags.py,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** test_paramflags.py 10 Mar 2005 14:03:21 -0000 1.6 --- test_paramflags.py 29 Sep 2005 12:38:36 -0000 1.6.2.1 *************** *** 90,93 **** --- 90,101 ---- self.assertRaises(TypeError, lambda: func(hwnd=hwnd_desktop, spam=32)) + def checker(*args): + print "checker", args + + proto = CFUNCTYPE(c_int, c_long, POINTER(RECT)) + func = proto("my_GetWindowRect", dll, ((1, "hwnd"), (2,))) + + func.errcheck = checker + func(32) if os.name == "nt": *************** *** 129,132 **** --- 137,172 ---- #func(a=1) + ## def test_BSTR_inout(self): + ## # test BSTR [in, out] parameter + ## import _ctypes_test + ## dll = CDLL(_ctypes_test.__file__) + + ## from _ctypes import _SimpleCData + + ## class BSTR(_SimpleCData): + ## _type_ = "X" + ## def __repr__(self): + ## return "%s(%r)" % (self.__class__.__name__, self.value) + ## def __del__(self, _free=windll.oleaut32.SysFreeString): + ## if not self._b_base_: + ## _free(self) + + ## proto = CFUNCTYPE(None, BSTR) + ## func = proto("GetBSTR", dll, ((3, "p1"),)) + + ## self.failUnlessEqual(func("SPAM"), "XPAM") + + ## def test_c_wchar_p_out(self): + ## # XXX XXX XXX XXX XXX Doesn't this modify a Python string??? YES, it does. + ## # So, we have to forbid c_char_p and c_wchar_p as out parameter types. + ## import _ctypes_test + ## dll = CDLL(_ctypes_test.__file__) + + ## proto = CFUNCTYPE(None, POINTER(c_wchar))#c_wchar_p) + ## func = proto("GetBSTR", dll, ((3, "p1"),)) + ## text = u"foo bar" + ## print func(text) + ## print text + def test_multiple_outargs(self): import _ctypes_test |