[PyObjC-svn] r2422 - in trunk/pyobjc/pyobjc-framework-CFNetwork: . Modules PyObjCTest
[email protected] Thu, 01 Apr 2010 10:31:47 -0500
| Newsgroups | gmane.comp.python.pyobjc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: ronaldoussoren
Date: Thu Apr 1 10:31:47 2010
New Revision: 2422
Log:
Port to py3k
Added:
trunk/pyobjc/pyobjc-framework-CFNetwork/distribute_setup.py (contents, props changed)
Removed:
trunk/pyobjc/pyobjc-framework-CFNetwork/Modules/pyobjc-api.h
Modified:
trunk/pyobjc/pyobjc-framework-CFNetwork/Modules/_manual.m
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfftpstream.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhost.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpauthentication.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpmessage.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpstream.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetservices.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkdiagnostics.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkerrors.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfproxysupport.py
trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfsocketstream.py
trunk/pyobjc/pyobjc-framework-CFNetwork/pyobjc_setup.py
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/Modules/_manual.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/Modules/_manual.m (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/Modules/_manual.m Thu Apr 1 10:31:47 2010
@@ -299,7 +299,7 @@
-static PyMethodDef m_methods[] = {
+static PyMethodDef mod_methods[] = {
#if PyObjC_BUILD_RELEASE >= 1005
{
"CFNetworkExecuteProxyAutoConfigurationScript",
@@ -325,20 +325,67 @@
{ 0, 0, 0, }
};
+#if PY_MAJOR_VERSION == 3
+
+static struct PyModuleDef mod_module = {
+ PyModuleDef_HEAD_INIT,
+ "_manual",
+ NULL,
+ 0,
+ mod_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+#define INITERROR() return NULL
+#define INITDONE() return m
+
+PyObject* PyInit__manual(void);
+
+PyObject*
+PyInit__manual(void)
+
+#else
+
+#define INITERROR() return
+#define INITDONE() return
+
+
+
void init_manual(void);
void init_manual(void)
+#endif
{
- PyObject* m = Py_InitModule4("_manual", m_methods,
+ PyObject* m;
+
+#if PY_MAJOR_VERSION == 3
+ m = PyModule_Create(&mod_module);
+#else
+ m = Py_InitModule4("_manual", mod_methods,
NULL, NULL, PYTHON_API_VERSION);
+#endif
+ if (!m) {
+ INITERROR();
+ }
- if (PyObjC_ImportAPI(m) < 0) { return; }
+ if (PyObjC_ImportAPI(m) < 0) {
+ INITERROR();
+ }
#if PyObjC_BUILD_RELEASE >= 1005
if (CFNetworkExecuteProxyAutoConfigurationScript == NULL) {
- PyDict_DelItemString(m, "CFNetworkExecuteProxyAutoConfigurationScript");
+ if (PyDict_DelItemString(m, "CFNetworkExecuteProxyAutoConfigurationScript") < 0) {
+ INITERROR();
+ }
}
if (CFNetworkExecuteProxyAutoConfigurationURL == NULL) {
- PyDict_DelItemString(m, "CFNetworkExecuteProxyAutoConfigurationURL");
+ if (PyDict_DelItemString(m, "CFNetworkExecuteProxyAutoConfigurationURL") < 0) {
+ INITERROR();
+ }
}
#endif
+
+ INITDONE();
}
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfftpstream.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfftpstream.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfftpstream.py Thu Apr 1 10:31:47 2010
@@ -4,49 +4,49 @@
class TestCFFTPStream (TestCase):
def testConstants(self):
- self.failUnlessIsInstance(kCFStreamErrorDomainFTP, (int, long))
- self.failUnlessIsInstance(kCFStreamPropertyFTPUserName, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPPassword, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPUsePassiveMode, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPResourceSize, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPFetchResourceInfo, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPFileTransferOffset, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPAttemptPersistentConnection, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPProxy, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPProxyHost, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPProxyPort, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPProxyUser, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyFTPProxyPassword, unicode)
- self.failUnlessIsInstance(kCFFTPResourceMode, unicode)
- self.failUnlessIsInstance(kCFFTPResourceName, unicode)
- self.failUnlessIsInstance(kCFFTPResourceOwner, unicode)
- self.failUnlessIsInstance(kCFFTPResourceGroup, unicode)
- self.failUnlessIsInstance(kCFFTPResourceLink, unicode)
- self.failUnlessIsInstance(kCFFTPResourceSize, unicode)
- self.failUnlessIsInstance(kCFFTPResourceType, unicode)
- self.failUnlessIsInstance(kCFFTPResourceModDate, unicode)
+ self.assertIsInstance(kCFStreamErrorDomainFTP, (int, long))
+ self.assertIsInstance(kCFStreamPropertyFTPUserName, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPPassword, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPUsePassiveMode, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPResourceSize, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPFetchResourceInfo, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPFileTransferOffset, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPAttemptPersistentConnection, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPProxy, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPProxyHost, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPProxyPort, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPProxyUser, unicode)
+ self.assertIsInstance(kCFStreamPropertyFTPProxyPassword, unicode)
+ self.assertIsInstance(kCFFTPResourceMode, unicode)
+ self.assertIsInstance(kCFFTPResourceName, unicode)
+ self.assertIsInstance(kCFFTPResourceOwner, unicode)
+ self.assertIsInstance(kCFFTPResourceGroup, unicode)
+ self.assertIsInstance(kCFFTPResourceLink, unicode)
+ self.assertIsInstance(kCFFTPResourceSize, unicode)
+ self.assertIsInstance(kCFFTPResourceType, unicode)
+ self.assertIsInstance(kCFFTPResourceModDate, unicode)
def testFunctions(self):
- self.failUnlessResultIsCFRetained(CFReadStreamCreateWithFTPURL)
+ self.assertResultIsCFRetained(CFReadStreamCreateWithFTPURL)
url = CFURLCreateWithString(None, "ftp://ftp.python.org/", None)
- self.failUnlessIsInstance(url, CFURLRef)
+ self.assertIsInstance(url, CFURLRef)
ftp = CFReadStreamCreateWithFTPURL(None, url)
- self.failUnlessIsInstance(ftp, CFReadStreamRef)
+ self.assertIsInstance(ftp, CFReadStreamRef)
- buf = '-rw-r--r-- 1 ronald staff 1957 Mar 31 07:22 test_cfftpstream.py\r\n'
- self.failUnlessArgHasType(CFFTPCreateParsedResourceListing, 1, 'n^v')
- self.failUnlessArgSizeInArg(CFFTPCreateParsedResourceListing, 1, 2)
- self.failUnlessArgIsOut(CFFTPCreateParsedResourceListing, 3)
+ buf = b'-rw-r--r-- 1 ronald staff 1957 Mar 31 07:22 test_cfftpstream.py\r\n'
+ self.assertArgHasType(CFFTPCreateParsedResourceListing, 1, b'n^v')
+ self.assertArgSizeInArg(CFFTPCreateParsedResourceListing, 1, 2)
+ self.assertArgIsOut(CFFTPCreateParsedResourceListing, 3)
cnt, out = CFFTPCreateParsedResourceListing(None, buf, len(buf), None)
- self.failUnlessIsInstance(cnt, (int, long))
- self.failUnlessIsInstance(out, CFDictionaryRef)
- self.failUnlessEqual(out[kCFFTPResourceGroup], "staff")
+ self.assertIsInstance(cnt, (int, long))
+ self.assertIsInstance(out, CFDictionaryRef)
+ self.assertEqual(out[kCFFTPResourceGroup], "staff")
- self.failUnlessResultIsCFRetained(CFWriteStreamCreateWithFTPURL)
+ self.assertResultIsCFRetained(CFWriteStreamCreateWithFTPURL)
url = CFURLCreateWithString(None, "ftp://www.rivm.nl/incoming/test.txt", None)
- self.failUnlessIsInstance(url, CFURLRef)
+ self.assertIsInstance(url, CFURLRef)
ftp = CFWriteStreamCreateWithFTPURL(None, url)
- self.failUnlessIsInstance(ftp, CFWriteStreamRef)
+ self.assertIsInstance(ftp, CFWriteStreamRef)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhost.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhost.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhost.py Thu Apr 1 10:31:47 2010
@@ -1,45 +1,50 @@
from CFNetwork import *
from PyObjCTools.TestSupport import *
+import sys
+
+if sys.version_info[0] != 2:
+ def buffer(value):
+ return value.encode('latin1')
class TestCFHost (TestCase):
def testTypes(self):
- self.failUnlessIsCFType(CFHostRef)
+ self.assertIsCFType(CFHostRef)
def testConstants(self):
- self.failUnlessIsInstance(kCFStreamErrorDomainNetDB, (int, long))
- self.failUnlessIsInstance(kCFStreamErrorDomainSystemConfiguration, (int, long))
- self.failUnlessEqual(kCFHostAddresses, 0)
- self.failUnlessEqual(kCFHostNames, 1)
- self.failUnlessEqual(kCFHostReachability, 2)
+ self.assertIsInstance(kCFStreamErrorDomainNetDB, (int, long))
+ self.assertIsInstance(kCFStreamErrorDomainSystemConfiguration, (int, long))
+ self.assertEqual(kCFHostAddresses, 0)
+ self.assertEqual(kCFHostNames, 1)
+ self.assertEqual(kCFHostReachability, 2)
def testFunctions(self):
- self.failUnlessIsInstance(CFHostGetTypeID(), (int, long))
+ self.assertIsInstance(CFHostGetTypeID(), (int, long))
- self.failUnlessResultIsCFRetained(CFHostCreateWithName)
+ self.assertResultIsCFRetained(CFHostCreateWithName)
v = CFHostCreateWithName(None, u"www.python.org")
- self.failUnlessIsInstance(v, CFHostRef)
+ self.assertIsInstance(v, CFHostRef)
addr = ' ' * 24;
- self.failUnlessResultIsCFRetained(CFHostCreateWithAddress)
+ self.assertResultIsCFRetained(CFHostCreateWithAddress)
t = CFHostCreateWithAddress(None, buffer(addr))
- self.failUnlessIsInstance(t, CFHostRef)
+ self.assertIsInstance(t, CFHostRef)
- self.failUnlessResultIsBOOL(CFHostStartInfoResolution)
- self.failUnlessArgIsOut(CFHostStartInfoResolution, 2)
+ self.assertResultIsBOOL(CFHostStartInfoResolution)
+ self.assertArgIsOut(CFHostStartInfoResolution, 2)
ok, error = CFHostStartInfoResolution(v, kCFHostAddresses, None)
- self.failUnless(ok is True)
- self.failUnlessIsInstance(error, CFStreamError)
+ self.assertIsObject(ok, True)
+ self.assertIsInstance(error, CFStreamError)
- self.failUnlessResultIsCFRetained(CFHostCreateCopy)
+ self.assertResultIsCFRetained(CFHostCreateCopy)
w = CFHostCreateCopy(None, v)
- self.failUnlessIsInstance(w, (type(None), CFHostRef))
+ self.assertIsInstance(w, (type(None), CFHostRef))
- self.failUnlessArgHasType(CFHostGetReachability, 1, 'o^' + objc._C_NSBOOL)
+ self.assertArgHasType(CFHostGetReachability, 1, b'o^' + objc._C_NSBOOL)
lst, ok = CFHostGetReachability(v, None)
- self.failUnlessIsInstance(lst, (CFDataRef, type(None)))
- self.failUnlessIsInstance(ok, bool)
+ self.assertIsInstance(lst, (CFDataRef, type(None)))
+ self.assertIsInstance(ok, bool)
CFHostCancelInfoResolution(v, kCFHostAddresses)
@@ -49,10 +54,10 @@
CFHostUnscheduleFromRunLoop(v, rl, kCFRunLoopDefaultMode)
- self.failUnlessArgHasType(CFHostGetNames, 1, 'o^' + objc._C_NSBOOL)
+ self.assertArgHasType(CFHostGetNames, 1, b'o^' + objc._C_NSBOOL)
lst, ok = CFHostGetNames(v, None)
- self.failUnlessIsInstance(lst, CFArrayRef)
- self.failUnlessIsInstance(ok, bool)
+ self.assertIsInstance(lst, CFArrayRef)
+ self.assertIsInstance(ok, bool)
def testCallbacks(self):
@@ -68,25 +73,25 @@
CFHostScheduleWithRunLoop(host, rl, kCFRunLoopDefaultMode)
ok, err = CFHostStartInfoResolution(host, kCFHostAddresses, None)
- self.failUnless(ok)
- self.failUnlessIsInstance(ok, bool)
- self.failUnlessIsInstance(err, CFStreamError)
+ self.assertTrue(ok)
+ self.assertIsInstance(ok, bool)
+ self.assertIsInstance(err, CFStreamError)
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 4.0, True)
CFHostUnscheduleFromRunLoop(host, rl, kCFRunLoopDefaultMode)
- self.failUnlessEqual(len(lst), 1)
- self.failUnlessIsInstance(lst[0][0], CFHostRef)
- self.failUnlessIsInstance(lst[0][1], (int, long))
- self.failUnlessIsInstance(lst[0][2], CFStreamError)
- self.failUnless(lst[0][3] is ctx)
+ self.assertEqual(len(lst), 1)
+ self.assertIsInstance(lst[0][0], CFHostRef)
+ self.assertIsInstance(lst[0][1], (int, long))
+ self.assertIsInstance(lst[0][2], CFStreamError)
+ self.assertIsObject(lst[0][3], ctx)
self.failIfResultIsCFRetained(CFHostGetAddressing)
- self.failUnlessArgHasType(CFHostGetAddressing, 1, 'o^Z')
+ self.assertArgHasType(CFHostGetAddressing, 1, b'o^Z')
lst, ok = CFHostGetAddressing(host, None)
- self.failUnlessIsInstance(lst, CFArrayRef)
- self.failUnlessIsInstance(lst[0], CFDataRef)
- self.failUnlessIsInstance(ok, bool)
+ self.assertIsInstance(lst, CFArrayRef)
+ self.assertIsInstance(lst[0], CFDataRef)
+ self.assertIsInstance(ok, bool)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpauthentication.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpauthentication.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpauthentication.py Thu Apr 1 10:31:47 2010
@@ -5,92 +5,92 @@
class TestCFFTPStream (TestCase):
def testTypes(self):
- self.failUnlessIsCFType(CFHTTPAuthenticationRef)
+ self.assertIsCFType(CFHTTPAuthenticationRef)
def testConstants(self):
- self.failUnlessEqual(kCFStreamErrorHTTPAuthenticationTypeUnsupported, -1000)
- self.failUnlessEqual(kCFStreamErrorHTTPAuthenticationBadUserName, -1001)
- self.failUnlessEqual(kCFStreamErrorHTTPAuthenticationBadPassword, -1002)
-
- self.failUnlessIsInstance(kCFHTTPAuthenticationUsername, unicode)
- self.failUnlessIsInstance(kCFHTTPAuthenticationPassword, unicode)
- self.failUnlessIsInstance(kCFHTTPAuthenticationAccountDomain, unicode)
+ self.assertEqual(kCFStreamErrorHTTPAuthenticationTypeUnsupported, -1000)
+ self.assertEqual(kCFStreamErrorHTTPAuthenticationBadUserName, -1001)
+ self.assertEqual(kCFStreamErrorHTTPAuthenticationBadPassword, -1002)
+
+ self.assertIsInstance(kCFHTTPAuthenticationUsername, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationPassword, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationAccountDomain, unicode)
@min_os_level('10.5')
#These functions should work on 10.4 as well, but caue a crash in CFNetwork on that platform
def testFunctions(self):
- self.failUnlessIsInstance(CFHTTPAuthenticationGetTypeID(), (int, long))
+ self.assertIsInstance(CFHTTPAuthenticationGetTypeID(), (int, long))
msg = CFHTTPMessageCreateResponse(None, 401, "Authenticate", kCFHTTPVersion1_0)
- self.failUnlessIsInstance(msg, CFHTTPMessageRef)
+ self.assertIsInstance(msg, CFHTTPMessageRef)
CFHTTPMessageSetHeaderFieldValue(msg, NSString.stringWithString_('WWW-Authenticate'), NSString.stringWithString_('Basic realm="WallyWorld"'))
- self.failUnlessResultIsCFRetained(CFHTTPAuthenticationCreateFromResponse)
+ self.assertResultIsCFRetained(CFHTTPAuthenticationCreateFromResponse)
ref = CFHTTPAuthenticationCreateFromResponse(None, msg)
- self.failUnlessIsInstance(ref, CFHTTPAuthenticationRef)
+ self.assertIsInstance(ref, CFHTTPAuthenticationRef)
- self.failUnlessResultIsBOOL(CFHTTPAuthenticationIsValid)
- self.failUnlessArgIsOut(CFHTTPAuthenticationIsValid, 1)
+ self.assertResultIsBOOL(CFHTTPAuthenticationIsValid)
+ self.assertArgIsOut(CFHTTPAuthenticationIsValid, 1)
v, err = CFHTTPAuthenticationIsValid(ref, None)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
if v:
- self.failUnless(err is None)
+ self.assertTrue(err is None)
else:
- self.failUnlessIsInstance(err, CFStreamError)
+ self.assertIsInstance(err, CFStreamError)
- self.failUnlessResultIsBOOL(CFHTTPAuthenticationAppliesToRequest)
+ self.assertResultIsBOOL(CFHTTPAuthenticationAppliesToRequest)
v = CFHTTPAuthenticationAppliesToRequest(ref, msg)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
- self.failUnlessResultIsBOOL(CFHTTPAuthenticationRequiresOrderedRequests)
+ self.assertResultIsBOOL(CFHTTPAuthenticationRequiresOrderedRequests)
v = CFHTTPAuthenticationRequiresOrderedRequests(ref)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
url = CFURLCreateWithString(None, "http://www.python.org/", None)
req = CFHTTPMessageCreateRequest(None, "GET", url, "1.0")
- self.failUnlessResultIsBOOL(CFHTTPMessageApplyCredentials)
- self.failUnlessArgIsOut(CFHTTPMessageApplyCredentials, 4)
+ self.assertResultIsBOOL(CFHTTPMessageApplyCredentials)
+ self.assertArgIsOut(CFHTTPMessageApplyCredentials, 4)
v, err = CFHTTPMessageApplyCredentials(req, ref, "ronald", "secret", None)
if v is True:
- self.failUnlessEqual(err, None)
+ self.assertEqual(err, None)
else:
- self.failUnlessIsInstance(err, CFStreamError)
+ self.assertIsInstance(err, CFStreamError)
- self.failUnlessResultIsBOOL(CFHTTPMessageApplyCredentialDictionary)
- self.failUnlessArgIsOut(CFHTTPMessageApplyCredentialDictionary, 3)
+ self.assertResultIsBOOL(CFHTTPMessageApplyCredentialDictionary)
+ self.assertArgIsOut(CFHTTPMessageApplyCredentialDictionary, 3)
v, err = CFHTTPMessageApplyCredentialDictionary(req, ref, {
kCFHTTPAuthenticationUsername: 'ronald',
kCFHTTPAuthenticationPassword: 'secret',
}, None)
if v is True:
- self.failUnlessEqual(err, None)
+ self.assertEqual(err, None)
else:
- self.failUnlessIsInstance(err, CFStreamError)
+ self.assertIsInstance(err, CFStreamError)
- self.failUnlessResultIsCFRetained(CFHTTPAuthenticationCopyRealm)
- self.failUnlessResultHasType(CFHTTPAuthenticationCopyRealm, '^{__CFString=}')
+ self.assertResultIsCFRetained(CFHTTPAuthenticationCopyRealm)
+ self.assertResultHasType(CFHTTPAuthenticationCopyRealm, b'^{__CFString=}')
v = CFHTTPAuthenticationCopyRealm(ref)
- self.failUnless(v is None or isinstance(v, unicode))
+ self.assertTrue(v is None or isinstance(v, unicode))
- self.failUnlessResultIsCFRetained(CFHTTPAuthenticationCopyDomains)
- self.failUnlessResultHasType(CFHTTPAuthenticationCopyDomains, '^{__CFArray=}')
+ self.assertResultIsCFRetained(CFHTTPAuthenticationCopyDomains)
+ self.assertResultHasType(CFHTTPAuthenticationCopyDomains, b'^{__CFArray=}')
v = CFHTTPAuthenticationCopyDomains(ref)
- self.failUnless(v is None or isinstance(v, CFArrayRef))
+ self.assertTrue(v is None or isinstance(v, CFArrayRef))
- self.failUnlessResultIsCFRetained(CFHTTPAuthenticationCopyMethod)
- self.failUnlessResultHasType(CFHTTPAuthenticationCopyMethod, '^{__CFString=}')
+ self.assertResultIsCFRetained(CFHTTPAuthenticationCopyMethod)
+ self.assertResultHasType(CFHTTPAuthenticationCopyMethod, b'^{__CFString=}')
v = CFHTTPAuthenticationCopyMethod(ref)
- self.failUnless(v is None or isinstance(v, unicode))
+ self.assertTrue(v is None or isinstance(v, unicode))
- self.failUnlessResultIsBOOL(CFHTTPAuthenticationRequiresUserNameAndPassword)
+ self.assertResultIsBOOL(CFHTTPAuthenticationRequiresUserNameAndPassword)
v = CFHTTPAuthenticationRequiresUserNameAndPassword(ref)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
- self.failUnlessResultIsBOOL(CFHTTPAuthenticationRequiresAccountDomain)
+ self.assertResultIsBOOL(CFHTTPAuthenticationRequiresAccountDomain)
v = CFHTTPAuthenticationRequiresAccountDomain(ref)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpmessage.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpmessage.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpmessage.py Thu Apr 1 10:31:47 2010
@@ -1,106 +1,114 @@
from CFNetwork import *
from PyObjCTools.TestSupport import *
+import sys
+
+if sys.version_info[0] != 2:
+ def buffer(value):
+ return value.encode('latin1')
class TestCFHTTPMessage (TestCase):
@min_os_level('10.5')
def testConstants10_5(self):
- self.failUnlessIsInstance(kCFHTTPAuthenticationSchemeNTLM, unicode)
- self.failUnlessIsInstance(kCFHTTPAuthenticationSchemeNegotiate, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationSchemeNTLM, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationSchemeNegotiate, unicode)
def testConstants(self):
- self.failUnlessIsInstance(kCFHTTPVersion1_0, unicode)
- self.failUnlessIsInstance(kCFHTTPVersion1_1, unicode)
- self.failUnlessIsInstance(kCFHTTPAuthenticationSchemeBasic, unicode)
- self.failUnlessIsInstance(kCFHTTPAuthenticationSchemeDigest, unicode)
+ self.assertIsInstance(kCFHTTPVersion1_0, unicode)
+ self.assertIsInstance(kCFHTTPVersion1_1, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationSchemeBasic, unicode)
+ self.assertIsInstance(kCFHTTPAuthenticationSchemeDigest, unicode)
def testTypes(self):
- self.failUnlessIsCFType(CFHTTPMessageRef)
+ self.assertIsCFType(CFHTTPMessageRef)
def testFunctions(self):
- self.failUnlessIsInstance(CFHTTPMessageGetTypeID(), (int, long))
+ self.assertIsInstance(CFHTTPMessageGetTypeID(), (int, long))
url = CFURLCreateWithString(None, "http://www.python.org/", None)
- self.failUnlessIsInstance(url, CFURLRef)
+ self.assertIsInstance(url, CFURLRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCreateRequest)
+ self.assertResultIsCFRetained(CFHTTPMessageCreateRequest)
req = CFHTTPMessageCreateRequest(None, "GET", url, kCFHTTPVersion1_1)
- self.failUnlessIsInstance(req, CFHTTPMessageRef)
+ self.assertIsInstance(req, CFHTTPMessageRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCreateResponse)
+ self.assertResultIsCFRetained(CFHTTPMessageCreateResponse)
resp = CFHTTPMessageCreateResponse(None, 200, "Okidoki", kCFHTTPVersion1_1)
- self.failUnlessIsInstance(req, CFHTTPMessageRef)
+ self.assertIsInstance(req, CFHTTPMessageRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCreateEmpty)
- self.failUnlessArgIsBOOL(CFHTTPMessageCreateEmpty, 1)
+ self.assertResultIsCFRetained(CFHTTPMessageCreateEmpty)
+ self.assertArgIsBOOL(CFHTTPMessageCreateEmpty, 1)
m = CFHTTPMessageCreateEmpty(None, True)
- self.failUnlessIsInstance(m, CFHTTPMessageRef)
+ self.assertIsInstance(m, CFHTTPMessageRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCreateCopy)
+ self.assertResultIsCFRetained(CFHTTPMessageCreateCopy)
m = CFHTTPMessageCreateCopy(None, req)
- self.failUnlessIsInstance(m, CFHTTPMessageRef)
+ self.assertIsInstance(m, CFHTTPMessageRef)
- self.failUnlessResultIsBOOL(CFHTTPMessageIsRequest)
- self.failUnless(CFHTTPMessageIsRequest(req) is True)
- self.failUnless(CFHTTPMessageIsRequest(resp) is False)
+ self.assertResultIsBOOL(CFHTTPMessageIsRequest)
+ self.assertTrue(CFHTTPMessageIsRequest(req) is True)
+ self.assertTrue(CFHTTPMessageIsRequest(resp) is False)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyVersion)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyVersion)
v = CFHTTPMessageCopyVersion(req)
- self.failUnlessIsInstance(v, unicode)
+ self.assertIsInstance(v, unicode)
CFHTTPMessageSetBody(req, buffer("hello world"))
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyBody)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyBody)
b = CFHTTPMessageCopyBody(req)
- self.failUnlessIsInstance(b, (CFDataRef, buffer))
+ if sys.version_info[0] == 2:
+ self.assertIsInstance(b, (CFDataRef, buffer))
+ else:
+ self.assertIsInstance(b, (CFDataRef, memoryview, bytes))
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyAllHeaderFields)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyAllHeaderFields)
v = CFHTTPMessageCopyAllHeaderFields(req)
- self.failUnlessIsInstance(v, CFDictionaryRef)
+ self.assertIsInstance(v, CFDictionaryRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyHeaderFieldValue)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyHeaderFieldValue)
v = CFHTTPMessageCopyHeaderFieldValue(req, u"X-Python")
- self.failUnless(v is None)
+ self.assertTrue(v is None)
CFHTTPMessageSetHeaderFieldValue(req, u"X-Python", u"Rocks")
v = CFHTTPMessageCopyHeaderFieldValue(req, u"X-Python")
- self.failUnlessEqual(v, u"Rocks")
+ self.assertEqual(v, u"Rocks")
- self.failUnlessResultIsBOOL(CFHTTPMessageAppendBytes)
- self.failUnlessArgHasType(CFHTTPMessageAppendBytes, 1, 'n^v')
- self.failUnlessArgSizeInArg(CFHTTPMessageAppendBytes, 1, 2)
+ self.assertResultIsBOOL(CFHTTPMessageAppendBytes)
+ self.assertArgHasType(CFHTTPMessageAppendBytes, 1, b'n^v')
+ self.assertArgSizeInArg(CFHTTPMessageAppendBytes, 1, 2)
- v = CFHTTPMessageAppendBytes(req, "hello world", 11)
- self.failUnless(v is True)
+ v = CFHTTPMessageAppendBytes(req, b"hello world", 11)
+ self.assertTrue(v is True)
- self.failUnlessResultIsBOOL(CFHTTPMessageIsHeaderComplete)
+ self.assertResultIsBOOL(CFHTTPMessageIsHeaderComplete)
v = CFHTTPMessageIsHeaderComplete(req)
- self.failUnless(v is False)
+ self.assertTrue(v is False)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopySerializedMessage)
+ self.assertResultIsCFRetained(CFHTTPMessageCopySerializedMessage)
v = CFHTTPMessageCopySerializedMessage(resp)
- self.failUnlessIsInstance(v, CFDataRef)
+ self.assertIsInstance(v, CFDataRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyRequestURL)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyRequestURL)
v = CFHTTPMessageCopyRequestURL(req)
- self.failUnlessIsInstance(v, CFURLRef)
+ self.assertIsInstance(v, CFURLRef)
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyRequestMethod)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyRequestMethod)
v = CFHTTPMessageCopyRequestMethod(req)
- self.failUnlessIsInstance(v, unicode)
+ self.assertIsInstance(v, unicode)
- self.failUnlessResultIsBOOL(CFHTTPMessageAddAuthentication)
- self.failUnlessArgIsBOOL(CFHTTPMessageAddAuthentication, 5)
+ self.assertResultIsBOOL(CFHTTPMessageAddAuthentication)
+ self.assertArgIsBOOL(CFHTTPMessageAddAuthentication, 5)
v = CFHTTPMessageAddAuthentication(req, resp, u"ronald", u"secret", kCFHTTPAuthenticationSchemeBasic, False)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
v = CFHTTPMessageGetResponseStatusCode(resp)
- self.failUnlessIsInstance(v, (int, long))
+ self.assertIsInstance(v, (int, long))
- self.failUnlessResultIsCFRetained(CFHTTPMessageCopyResponseStatusLine)
+ self.assertResultIsCFRetained(CFHTTPMessageCopyResponseStatusLine)
v = CFHTTPMessageCopyResponseStatusLine(resp)
- self.failUnlessIsInstance(v, unicode)
+ self.assertIsInstance(v, unicode)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpstream.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpstream.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfhttpstream.py Thu Apr 1 10:31:47 2010
@@ -5,34 +5,34 @@
class TestCFHTTPStream (TestCase):
@min_os_level('10.5')
def testConstants10_5(self):
- self.failUnlessIsInstance(kCFStreamPropertyHTTPFinalRequest, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPFinalRequest, unicode)
def testConstants(self):
- self.failUnlessEqual(kCFStreamErrorHTTPParseFailure, -1)
- self.failUnlessEqual(kCFStreamErrorHTTPRedirectionLoop, -2)
- self.failUnlessEqual(kCFStreamErrorHTTPBadURL, -3)
-
- self.failUnlessIsInstance(kCFStreamPropertyHTTPResponseHeader, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPFinalURL, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPProxy, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPProxyHost, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPProxyPort, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPSProxyHost, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPSProxyPort, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPShouldAutoredirect, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPAttemptPersistentConnection, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyHTTPRequestBytesWrittenCount, unicode)
+ self.assertEqual(kCFStreamErrorHTTPParseFailure, -1)
+ self.assertEqual(kCFStreamErrorHTTPRedirectionLoop, -2)
+ self.assertEqual(kCFStreamErrorHTTPBadURL, -3)
+
+ self.assertIsInstance(kCFStreamPropertyHTTPResponseHeader, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPFinalURL, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPProxy, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPProxyHost, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPProxyPort, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPSProxyHost, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPSProxyPort, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPShouldAutoredirect, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPAttemptPersistentConnection, unicode)
+ self.assertIsInstance(kCFStreamPropertyHTTPRequestBytesWrittenCount, unicode)
def testFunctions(self):
url = CFURLCreateWithString(None, "http://www.python.org/", None)
- self.failUnlessIsInstance(url, CFURLRef)
+ self.assertIsInstance(url, CFURLRef)
req = CFHTTPMessageCreateRequest(None, "GET", url, kCFHTTPVersion1_1)
- self.failUnlessIsInstance(req, CFHTTPMessageRef)
+ self.assertIsInstance(req, CFHTTPMessageRef)
- self.failUnlessResultIsCFRetained(CFReadStreamCreateForHTTPRequest)
+ self.assertResultIsCFRetained(CFReadStreamCreateForHTTPRequest)
v = CFReadStreamCreateForHTTPRequest(None, req)
- self.failUnlessIsInstance(v, CFReadStreamRef)
+ self.assertIsInstance(v, CFReadStreamRef)
fp = open("/dev/null", "w")
fd_2 = os.dup(2)
@@ -41,11 +41,11 @@
try:
# Avoid deprecation messages from CFNetwork
- self.failUnlessResultIsCFRetained(CFReadStreamCreateForStreamedHTTPRequest)
+ self.assertResultIsCFRetained(CFReadStreamCreateForStreamedHTTPRequest)
v = CFReadStreamCreateForStreamedHTTPRequest(None, req, v)
- self.failUnlessIsInstance(v, CFReadStreamRef)
+ self.assertIsInstance(v, CFReadStreamRef)
- self.failUnlessArgIsBOOL(CFHTTPReadStreamSetRedirectsAutomatically, 1)
+ self.assertArgIsBOOL(CFHTTPReadStreamSetRedirectsAutomatically, 1)
CFHTTPReadStreamSetRedirectsAutomatically(v, True)
CFHTTPReadStreamSetProxy(v, u"localhost", 8080)
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetservices.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetservices.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetservices.py Thu Apr 1 10:31:47 2010
@@ -4,61 +4,61 @@
class TestCFNetServices (TestCase):
def testTypes(self):
- self.failUnlessIsCFType(CFNetServiceRef)
- self.failUnlessIsCFType(CFNetServiceMonitorRef)
- self.failUnlessIsCFType(CFNetServiceBrowserRef)
+ self.assertIsCFType(CFNetServiceRef)
+ self.assertIsCFType(CFNetServiceMonitorRef)
+ self.assertIsCFType(CFNetServiceBrowserRef)
def testConstants(self):
- self.failUnlessIsInstance(kCFStreamErrorDomainMach, (int, long))
- self.failUnlessIsInstance(kCFStreamErrorDomainNetServices, (int, long))
+ self.assertIsInstance(kCFStreamErrorDomainMach, (int, long))
+ self.assertIsInstance(kCFStreamErrorDomainNetServices, (int, long))
- self.failUnlessEqual(kCFNetServicesErrorUnknown, -72000)
- self.failUnlessEqual(kCFNetServicesErrorCollision, -72001)
- self.failUnlessEqual(kCFNetServicesErrorNotFound, -72002)
- self.failUnlessEqual(kCFNetServicesErrorInProgress, -72003)
- self.failUnlessEqual(kCFNetServicesErrorBadArgument, -72004)
- self.failUnlessEqual(kCFNetServicesErrorCancel, -72005)
- self.failUnlessEqual(kCFNetServicesErrorInvalid, -72006)
- self.failUnlessEqual(kCFNetServicesErrorTimeout, -72007)
- self.failUnlessEqual(kCFNetServiceMonitorTXT, 1)
- self.failUnlessEqual(kCFNetServiceFlagNoAutoRename, 1)
- self.failUnlessEqual(kCFNetServiceFlagMoreComing, 1)
- self.failUnlessEqual(kCFNetServiceFlagIsDomain, 2)
- self.failUnlessEqual(kCFNetServiceFlagIsDefault, 4)
- self.failUnlessEqual(kCFNetServiceFlagIsRegistrationDomain, 4)
- self.failUnlessEqual(kCFNetServiceFlagRemove, 8)
+ self.assertEqual(kCFNetServicesErrorUnknown, -72000)
+ self.assertEqual(kCFNetServicesErrorCollision, -72001)
+ self.assertEqual(kCFNetServicesErrorNotFound, -72002)
+ self.assertEqual(kCFNetServicesErrorInProgress, -72003)
+ self.assertEqual(kCFNetServicesErrorBadArgument, -72004)
+ self.assertEqual(kCFNetServicesErrorCancel, -72005)
+ self.assertEqual(kCFNetServicesErrorInvalid, -72006)
+ self.assertEqual(kCFNetServicesErrorTimeout, -72007)
+ self.assertEqual(kCFNetServiceMonitorTXT, 1)
+ self.assertEqual(kCFNetServiceFlagNoAutoRename, 1)
+ self.assertEqual(kCFNetServiceFlagMoreComing, 1)
+ self.assertEqual(kCFNetServiceFlagIsDomain, 2)
+ self.assertEqual(kCFNetServiceFlagIsDefault, 4)
+ self.assertEqual(kCFNetServiceFlagIsRegistrationDomain, 4)
+ self.assertEqual(kCFNetServiceFlagRemove, 8)
def testFunctions(self):
- self.failUnlessIsInstance(CFNetServiceGetTypeID(), (int, long))
- self.failUnlessIsInstance(CFNetServiceMonitorGetTypeID(), (int, long))
- self.failUnlessIsInstance(CFNetServiceBrowserGetTypeID(), (int, long))
+ self.assertIsInstance(CFNetServiceGetTypeID(), (int, long))
+ self.assertIsInstance(CFNetServiceMonitorGetTypeID(), (int, long))
+ self.assertIsInstance(CFNetServiceBrowserGetTypeID(), (int, long))
- self.failUnlessResultIsCFRetained(CFNetServiceCreate)
+ self.assertResultIsCFRetained(CFNetServiceCreate)
serv = CFNetServiceCreate(None, u"pyobjc.local", u"ssh", u"pyobjc.test.local", 9999)
- self.failUnlessIsInstance(serv, CFNetServiceRef)
+ self.assertIsInstance(serv, CFNetServiceRef)
- self.failUnlessResultIsCFRetained(CFNetServiceCreateCopy)
+ self.assertResultIsCFRetained(CFNetServiceCreateCopy)
v = CFNetServiceCreateCopy(None, serv)
- self.failUnlessIsInstance(v, CFNetServiceRef)
+ self.assertIsInstance(v, CFNetServiceRef)
dom = CFNetServiceGetDomain(serv)
- self.failUnlessIsInstance(dom, unicode)
+ self.assertIsInstance(dom, unicode)
dom = CFNetServiceGetType(serv)
- self.failUnlessIsInstance(dom, unicode)
+ self.assertIsInstance(dom, unicode)
dom = CFNetServiceGetName(serv)
- self.failUnlessIsInstance(dom, unicode)
+ self.assertIsInstance(dom, unicode)
- self.failUnlessResultIsBOOL(CFNetServiceRegisterWithOptions)
- self.failUnlessArgIsOut(CFNetServiceRegisterWithOptions, 2)
+ self.assertResultIsBOOL(CFNetServiceRegisterWithOptions)
+ self.assertArgIsOut(CFNetServiceRegisterWithOptions, 2)
ok, err = CFNetServiceRegisterWithOptions(serv, kCFNetServiceFlagNoAutoRename, None)
- self.failUnlessIsInstance(ok, bool)
+ self.assertIsInstance(ok, bool)
if ok:
- self.failUnlessEqual(err, None)
+ self.assertEqual(err, None)
else:
- self.failUnlessIsInstance(err, CFStreamError)
+ self.assertIsInstance(err, CFStreamError)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkdiagnostics.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkdiagnostics.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkdiagnostics.py Thu Apr 1 10:31:47 2010
@@ -5,41 +5,41 @@
def testTypes(self):
# XXX: CFNetDiagnosticsRef is not actually a proper type
# in Leopard, the result turns out to be a CFDictionaryRef...
- #self.failUnlessIsCFType(CFNetDiagnosticRef)
+ #self.assertIsCFType(CFNetDiagnosticRef)
pass
def testConstants(self):
- self.failUnlessEqual(kCFNetDiagnosticNoErr, 0)
- self.failUnlessEqual(kCFNetDiagnosticErr, -66560)
- self.failUnlessEqual(kCFNetDiagnosticConnectionUp, -66559)
- self.failUnlessEqual(kCFNetDiagnosticConnectionIndeterminate, -66558)
- self.failUnlessEqual(kCFNetDiagnosticConnectionDown, -66557)
+ self.assertEqual(kCFNetDiagnosticNoErr, 0)
+ self.assertEqual(kCFNetDiagnosticErr, -66560)
+ self.assertEqual(kCFNetDiagnosticConnectionUp, -66559)
+ self.assertEqual(kCFNetDiagnosticConnectionIndeterminate, -66558)
+ self.assertEqual(kCFNetDiagnosticConnectionDown, -66557)
def testFuncdtions(self):
- self.failUnlessResultIsCFRetained(CFNetDiagnosticCreateWithStreams)
+ self.assertResultIsCFRetained(CFNetDiagnosticCreateWithStreams)
host = CFHostCreateWithName(None, u"www.apple.com")
rd, wr = CFStreamCreatePairWithSocketToCFHost(None, host, 80, None, None)
- self.failUnlessIsInstance(rd, CFReadStreamRef)
- self.failUnlessIsInstance(wr, CFWriteStreamRef)
+ self.assertIsInstance(rd, CFReadStreamRef)
+ self.assertIsInstance(wr, CFWriteStreamRef)
ref = CFNetDiagnosticCreateWithStreams(None, rd, wr)
- self.failUnlessIsInstance(ref, objc.objc_object) #CFNetDiagnosticRef)
+ self.assertIsInstance(ref, objc.objc_object) #CFNetDiagnosticRef)
- self.failUnlessResultIsCFRetained(CFNetDiagnosticCreateWithURL)
+ self.assertResultIsCFRetained(CFNetDiagnosticCreateWithURL)
ref = CFNetDiagnosticCreateWithURL(None, CFURLCreateWithString(None, u"http://www.apple.com/", None))
- self.failUnlessIsInstance(ref, objc.objc_object) #CFNetDiagnosticRef)
+ self.assertIsInstance(ref, objc.objc_object) #CFNetDiagnosticRef)
CFNetDiagnosticSetName(ref, u"hello world")
sts = CFNetDiagnosticDiagnoseProblemInteractively(ref)
- self.failUnlessIsInstance(sts, (int, long))
+ self.assertIsInstance(sts, (int, long))
- self.failUnlessArgIsOut(CFNetDiagnosticCopyNetworkStatusPassively, 1)
+ self.assertArgIsOut(CFNetDiagnosticCopyNetworkStatusPassively, 1)
sts, descr = CFNetDiagnosticCopyNetworkStatusPassively(ref, None)
- self.failUnlessIsInstance(sts, (int, long))
- self.failUnlessIsInstance(descr, unicode)
+ self.assertIsInstance(sts, (int, long))
+ self.assertIsInstance(descr, unicode)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkerrors.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkerrors.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfnetworkerrors.py Thu Apr 1 10:31:47 2010
@@ -6,103 +6,103 @@
@min_os_level('10.5')
def testConstants10_5(self):
- self.failUnlessIsInstance(kCFErrorDomainCFNetwork, unicode)
- self.failUnlessIsInstance(kCFErrorDomainWinSock, unicode)
- self.failUnlessIsInstance(kCFGetAddrInfoFailureKey, unicode)
- self.failUnlessIsInstance(kCFSOCKSStatusCodeKey, unicode)
- self.failUnlessIsInstance(kCFSOCKSVersionKey, unicode)
- self.failUnlessIsInstance(kCFSOCKSNegotiationMethodKey, unicode)
- self.failUnlessIsInstance(kCFDNSServiceFailureKey, unicode)
- self.failUnlessIsInstance(kCFFTPStatusCodeKey, unicode)
+ self.assertIsInstance(kCFErrorDomainCFNetwork, unicode)
+ self.assertIsInstance(kCFErrorDomainWinSock, unicode)
+ self.assertIsInstance(kCFGetAddrInfoFailureKey, unicode)
+ self.assertIsInstance(kCFSOCKSStatusCodeKey, unicode)
+ self.assertIsInstance(kCFSOCKSVersionKey, unicode)
+ self.assertIsInstance(kCFSOCKSNegotiationMethodKey, unicode)
+ self.assertIsInstance(kCFDNSServiceFailureKey, unicode)
+ self.assertIsInstance(kCFFTPStatusCodeKey, unicode)
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessEqual(kCFErrorPACFileAuth, 309)
- self.failUnlessEqual(kCFErrorHTTPSProxyConnectionFailure, 310)
+ self.assertEqual(kCFErrorPACFileAuth, 309)
+ self.assertEqual(kCFErrorHTTPSProxyConnectionFailure, 310)
- self.failUnlessEqual(kCFURLErrorUnknown, -998)
- self.failUnlessEqual(kCFURLErrorCancelled, -999)
- self.failUnlessEqual(kCFURLErrorBadURL, -1000)
- self.failUnlessEqual(kCFURLErrorTimedOut, -1001)
- self.failUnlessEqual(kCFURLErrorUnsupportedURL, -1002)
- self.failUnlessEqual(kCFURLErrorCannotFindHost, -1003)
- self.failUnlessEqual(kCFURLErrorCannotConnectToHost, -1004)
- self.failUnlessEqual(kCFURLErrorNetworkConnectionLost, -1005)
- self.failUnlessEqual(kCFURLErrorDNSLookupFailed, -1006)
- self.failUnlessEqual(kCFURLErrorHTTPTooManyRedirects, -1007)
- self.failUnlessEqual(kCFURLErrorResourceUnavailable, -1008)
- self.failUnlessEqual(kCFURLErrorNotConnectedToInternet, -1009)
- self.failUnlessEqual(kCFURLErrorRedirectToNonExistentLocation, -1010)
- self.failUnlessEqual(kCFURLErrorBadServerResponse, -1011)
- self.failUnlessEqual(kCFURLErrorUserCancelledAuthentication, -1012)
- self.failUnlessEqual(kCFURLErrorUserAuthenticationRequired, -1013)
- self.failUnlessEqual(kCFURLErrorZeroByteResource, -1014)
- self.failUnlessEqual(kCFURLErrorCannotDecodeRawData, -1015)
- self.failUnlessEqual(kCFURLErrorCannotDecodeContentData, -1016)
- self.failUnlessEqual(kCFURLErrorCannotParseResponse, -1017)
- self.failUnlessEqual(kCFURLErrorInternationalRoamingOff, -1018)
- self.failUnlessEqual(kCFURLErrorCallIsActive, -1019)
- self.failUnlessEqual(kCFURLErrorDataNotAllowed, -1020)
- self.failUnlessEqual(kCFURLErrorRequestBodyStreamExhausted, -1021)
- self.failUnlessEqual(kCFURLErrorFileDoesNotExist, -1100)
- self.failUnlessEqual(kCFURLErrorFileIsDirectory, -1101)
- self.failUnlessEqual(kCFURLErrorNoPermissionsToReadFile, -1102)
- self.failUnlessEqual(kCFURLErrorDataLengthExceedsMaximum, -1103)
- self.failUnlessEqual(kCFURLErrorSecureConnectionFailed, -1200)
- self.failUnlessEqual(kCFURLErrorServerCertificateHasBadDate, -1201)
- self.failUnlessEqual(kCFURLErrorServerCertificateUntrusted, -1202)
- self.failUnlessEqual(kCFURLErrorServerCertificateHasUnknownRoot, -1203)
- self.failUnlessEqual(kCFURLErrorServerCertificateNotYetValid, -1204)
- self.failUnlessEqual(kCFURLErrorClientCertificateRejected, -1205)
- self.failUnlessEqual(kCFURLErrorClientCertificateRequired, -1206)
- self.failUnlessEqual(kCFURLErrorCannotLoadFromNetwork, -2000)
- self.failUnlessEqual(kCFURLErrorCannotCreateFile, -3000)
- self.failUnlessEqual(kCFURLErrorCannotOpenFile, -3001)
- self.failUnlessEqual(kCFURLErrorCannotCloseFile, -3002)
- self.failUnlessEqual(kCFURLErrorCannotWriteToFile, -3003)
- self.failUnlessEqual(kCFURLErrorCannotRemoveFile, -3004)
- self.failUnlessEqual(kCFURLErrorCannotMoveFile, -3005)
- self.failUnlessEqual(kCFURLErrorDownloadDecodingFailedMidStream, -3006)
- self.failUnlessEqual(kCFURLErrorDownloadDecodingFailedToComplete, -3007)
- self.failUnlessEqual(kCFHTTPCookieCannotParseCookieFile, -4000)
+ self.assertEqual(kCFURLErrorUnknown, -998)
+ self.assertEqual(kCFURLErrorCancelled, -999)
+ self.assertEqual(kCFURLErrorBadURL, -1000)
+ self.assertEqual(kCFURLErrorTimedOut, -1001)
+ self.assertEqual(kCFURLErrorUnsupportedURL, -1002)
+ self.assertEqual(kCFURLErrorCannotFindHost, -1003)
+ self.assertEqual(kCFURLErrorCannotConnectToHost, -1004)
+ self.assertEqual(kCFURLErrorNetworkConnectionLost, -1005)
+ self.assertEqual(kCFURLErrorDNSLookupFailed, -1006)
+ self.assertEqual(kCFURLErrorHTTPTooManyRedirects, -1007)
+ self.assertEqual(kCFURLErrorResourceUnavailable, -1008)
+ self.assertEqual(kCFURLErrorNotConnectedToInternet, -1009)
+ self.assertEqual(kCFURLErrorRedirectToNonExistentLocation, -1010)
+ self.assertEqual(kCFURLErrorBadServerResponse, -1011)
+ self.assertEqual(kCFURLErrorUserCancelledAuthentication, -1012)
+ self.assertEqual(kCFURLErrorUserAuthenticationRequired, -1013)
+ self.assertEqual(kCFURLErrorZeroByteResource, -1014)
+ self.assertEqual(kCFURLErrorCannotDecodeRawData, -1015)
+ self.assertEqual(kCFURLErrorCannotDecodeContentData, -1016)
+ self.assertEqual(kCFURLErrorCannotParseResponse, -1017)
+ self.assertEqual(kCFURLErrorInternationalRoamingOff, -1018)
+ self.assertEqual(kCFURLErrorCallIsActive, -1019)
+ self.assertEqual(kCFURLErrorDataNotAllowed, -1020)
+ self.assertEqual(kCFURLErrorRequestBodyStreamExhausted, -1021)
+ self.assertEqual(kCFURLErrorFileDoesNotExist, -1100)
+ self.assertEqual(kCFURLErrorFileIsDirectory, -1101)
+ self.assertEqual(kCFURLErrorNoPermissionsToReadFile, -1102)
+ self.assertEqual(kCFURLErrorDataLengthExceedsMaximum, -1103)
+ self.assertEqual(kCFURLErrorSecureConnectionFailed, -1200)
+ self.assertEqual(kCFURLErrorServerCertificateHasBadDate, -1201)
+ self.assertEqual(kCFURLErrorServerCertificateUntrusted, -1202)
+ self.assertEqual(kCFURLErrorServerCertificateHasUnknownRoot, -1203)
+ self.assertEqual(kCFURLErrorServerCertificateNotYetValid, -1204)
+ self.assertEqual(kCFURLErrorClientCertificateRejected, -1205)
+ self.assertEqual(kCFURLErrorClientCertificateRequired, -1206)
+ self.assertEqual(kCFURLErrorCannotLoadFromNetwork, -2000)
+ self.assertEqual(kCFURLErrorCannotCreateFile, -3000)
+ self.assertEqual(kCFURLErrorCannotOpenFile, -3001)
+ self.assertEqual(kCFURLErrorCannotCloseFile, -3002)
+ self.assertEqual(kCFURLErrorCannotWriteToFile, -3003)
+ self.assertEqual(kCFURLErrorCannotRemoveFile, -3004)
+ self.assertEqual(kCFURLErrorCannotMoveFile, -3005)
+ self.assertEqual(kCFURLErrorDownloadDecodingFailedMidStream, -3006)
+ self.assertEqual(kCFURLErrorDownloadDecodingFailedToComplete, -3007)
+ self.assertEqual(kCFHTTPCookieCannotParseCookieFile, -4000)
- self.failUnlessIsInstance(kCFURLErrorFailingURLErrorKey, unicode)
- self.failUnlessIsInstance(kCFURLErrorFailingURLStringErrorKey, unicode)
+ self.assertIsInstance(kCFURLErrorFailingURLErrorKey, unicode)
+ self.assertIsInstance(kCFURLErrorFailingURLStringErrorKey, unicode)
def testConstants(self):
- self.failUnlessEqual(kCFHostErrorHostNotFound, 1)
- self.failUnlessEqual(kCFHostErrorUnknown, 2)
- self.failUnlessEqual(kCFSOCKSErrorUnknownClientVersion, 100)
- self.failUnlessEqual(kCFSOCKSErrorUnsupportedServerVersion, 101)
- self.failUnlessEqual(kCFSOCKS4ErrorRequestFailed, 110)
- self.failUnlessEqual(kCFSOCKS4ErrorIdentdFailed, 111)
- self.failUnlessEqual(kCFSOCKS4ErrorIdConflict, 112)
- self.failUnlessEqual(kCFSOCKS4ErrorUnknownStatusCode, 113)
- self.failUnlessEqual(kCFSOCKS5ErrorBadState, 120)
- self.failUnlessEqual(kCFSOCKS5ErrorBadResponseAddr, 121)
- self.failUnlessEqual(kCFSOCKS5ErrorBadCredentials, 122)
- self.failUnlessEqual(kCFSOCKS5ErrorUnsupportedNegotiationMethod, 123)
- self.failUnlessEqual(kCFSOCKS5ErrorNoAcceptableMethod, 124)
- self.failUnlessEqual(kCFNetServiceErrorUnknown, -72000)
- self.failUnlessEqual(kCFNetServiceErrorCollision, -72001)
- self.failUnlessEqual(kCFNetServiceErrorNotFound, -72002)
- self.failUnlessEqual(kCFNetServiceErrorInProgress, -72003)
- self.failUnlessEqual(kCFNetServiceErrorBadArgument, -72004)
- self.failUnlessEqual(kCFNetServiceErrorCancel, -72005)
- self.failUnlessEqual(kCFNetServiceErrorInvalid, -72006)
- self.failUnlessEqual(kCFNetServiceErrorTimeout, -72007)
- self.failUnlessEqual(kCFNetServiceErrorDNSServiceFailure, -73000)
- self.failUnlessEqual(kCFFTPErrorUnexpectedStatusCode, 200)
- self.failUnlessEqual(kCFErrorHTTPAuthenticationTypeUnsupported, 300)
- self.failUnlessEqual(kCFErrorHTTPBadCredentials, 301)
- self.failUnlessEqual(kCFErrorHTTPConnectionLost, 302)
- self.failUnlessEqual(kCFErrorHTTPParseFailure, 303)
- self.failUnlessEqual(kCFErrorHTTPRedirectionLoopDetected, 304)
- self.failUnlessEqual(kCFErrorHTTPBadURL, 305)
- self.failUnlessEqual(kCFErrorHTTPProxyConnectionFailure, 306)
- self.failUnlessEqual(kCFErrorHTTPBadProxyCredentials, 307)
- self.failUnlessEqual(kCFErrorPACFileError, 308)
+ self.assertEqual(kCFHostErrorHostNotFound, 1)
+ self.assertEqual(kCFHostErrorUnknown, 2)
+ self.assertEqual(kCFSOCKSErrorUnknownClientVersion, 100)
+ self.assertEqual(kCFSOCKSErrorUnsupportedServerVersion, 101)
+ self.assertEqual(kCFSOCKS4ErrorRequestFailed, 110)
+ self.assertEqual(kCFSOCKS4ErrorIdentdFailed, 111)
+ self.assertEqual(kCFSOCKS4ErrorIdConflict, 112)
+ self.assertEqual(kCFSOCKS4ErrorUnknownStatusCode, 113)
+ self.assertEqual(kCFSOCKS5ErrorBadState, 120)
+ self.assertEqual(kCFSOCKS5ErrorBadResponseAddr, 121)
+ self.assertEqual(kCFSOCKS5ErrorBadCredentials, 122)
+ self.assertEqual(kCFSOCKS5ErrorUnsupportedNegotiationMethod, 123)
+ self.assertEqual(kCFSOCKS5ErrorNoAcceptableMethod, 124)
+ self.assertEqual(kCFNetServiceErrorUnknown, -72000)
+ self.assertEqual(kCFNetServiceErrorCollision, -72001)
+ self.assertEqual(kCFNetServiceErrorNotFound, -72002)
+ self.assertEqual(kCFNetServiceErrorInProgress, -72003)
+ self.assertEqual(kCFNetServiceErrorBadArgument, -72004)
+ self.assertEqual(kCFNetServiceErrorCancel, -72005)
+ self.assertEqual(kCFNetServiceErrorInvalid, -72006)
+ self.assertEqual(kCFNetServiceErrorTimeout, -72007)
+ self.assertEqual(kCFNetServiceErrorDNSServiceFailure, -73000)
+ self.assertEqual(kCFFTPErrorUnexpectedStatusCode, 200)
+ self.assertEqual(kCFErrorHTTPAuthenticationTypeUnsupported, 300)
+ self.assertEqual(kCFErrorHTTPBadCredentials, 301)
+ self.assertEqual(kCFErrorHTTPConnectionLost, 302)
+ self.assertEqual(kCFErrorHTTPParseFailure, 303)
+ self.assertEqual(kCFErrorHTTPRedirectionLoopDetected, 304)
+ self.assertEqual(kCFErrorHTTPBadURL, 305)
+ self.assertEqual(kCFErrorHTTPProxyConnectionFailure, 306)
+ self.assertEqual(kCFErrorHTTPBadProxyCredentials, 307)
+ self.assertEqual(kCFErrorPACFileError, 308)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfproxysupport.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfproxysupport.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfproxysupport.py Thu Apr 1 10:31:47 2010
@@ -15,25 +15,25 @@
@min_os_level('10.5')
def testFunctions(self):
- self.failUnlessResultIsCFRetained(CFNetworkCopyProxiesForURL)
+ self.assertResultIsCFRetained(CFNetworkCopyProxiesForURL)
url = CFURLCreateWithString(None, "http://www.apple.com/", None)
v = CFNetworkCopyProxiesForURL(url, None)
- self.failUnlessIsInstance(v, CFArrayRef)
+ self.assertIsInstance(v, CFArrayRef)
- self.failUnlessResultIsCFRetained(CFNetworkCopyProxiesForAutoConfigurationScript)
- self.failUnlessArgIsOut(CFNetworkCopyProxiesForAutoConfigurationScript, 2)
+ self.assertResultIsCFRetained(CFNetworkCopyProxiesForAutoConfigurationScript)
+ self.assertArgIsOut(CFNetworkCopyProxiesForAutoConfigurationScript, 2)
v, err = CFNetworkCopyProxiesForAutoConfigurationScript(
SCRIPT, url, None)
- self.failUnless(err is None)
- self.failUnlessIsInstance(v, CFArrayRef)
+ self.assertTrue(err is None)
+ self.assertIsInstance(v, CFArrayRef)
x = v[0]
- self.failUnlessEqual(x[kCFProxyTypeKey], kCFProxyTypeHTTP)
- self.failUnlessEqual(x[kCFProxyHostNameKey], "proxy.apple.com")
- self.failUnlessEqual(x[kCFProxyPortNumberKey], 8080)
+ self.assertEqual(x[kCFProxyTypeKey], kCFProxyTypeHTTP)
+ self.assertEqual(x[kCFProxyHostNameKey], "proxy.apple.com")
+ self.assertEqual(x[kCFProxyPortNumberKey], 8080)
- self.failUnlessResultIsCFRetained(CFNetworkCopySystemProxySettings)
+ self.assertResultIsCFRetained(CFNetworkCopySystemProxySettings)
v = CFNetworkCopySystemProxySettings()
- self.failUnlessIsInstance(v, CFDictionaryRef)
+ self.assertIsInstance(v, CFDictionaryRef)
@min_os_level('10.5')
@@ -47,7 +47,7 @@
rls = CFNetworkExecuteProxyAutoConfigurationScript(
SCRIPT, url, callback, ctx)
- self.failUnlessIsInstance(rls, CFRunLoopSourceRef)
+ self.assertIsInstance(rls, CFRunLoopSourceRef)
rl = CFRunLoopGetCurrent()
CFRunLoopAddSource(rl, rls, kCFRunLoopCommonModes)
@@ -56,10 +56,10 @@
CFRunLoopRemoveSource(rl, rls, kCFRunLoopCommonModes)
- self.failIfEqual(len(lst), 0)
- self.failUnless(lst[0][0] is ctx)
- self.failUnlessIsInstance(lst[0][1], CFArrayRef)
- self.failUnlessEqual(lst[0][2], None)
+ self.assertNotEqual(len(lst), 0)
+ self.assertTrue(lst[0][0] is ctx)
+ self.assertIsInstance(lst[0][1], CFArrayRef)
+ self.assertEqual(lst[0][2], None)
lst[:] = []
path = os.path.join(os.path.dirname(__file__), "proxy.pac")
@@ -74,7 +74,7 @@
rls = CFNetworkExecuteProxyAutoConfigurationURL(
scriptURL, url, callback, ctx)
- self.failUnlessIsInstance(rls, CFRunLoopSourceRef)
+ self.assertIsInstance(rls, CFRunLoopSourceRef)
CFRunLoopAddSource(rl, rls, kCFRunLoopCommonModes)
@@ -84,69 +84,69 @@
#print lst
- self.failIfEqual(len(lst), 0)
- self.failUnless(lst[0][0] is ctx)
+ self.assertNotEqual(len(lst), 0)
+ self.assertTrue(lst[0][0] is ctx)
if lst[0][2] is None:
- self.failUnlessIsInstance(lst[0][1], CFArrayRef)
- self.failUnlessEqual(lst[0][2], None)
+ self.assertIsInstance(lst[0][1], CFArrayRef)
+ self.assertEqual(lst[0][2], None)
else:
- self.failUnlessEqual(lst[0][1], None)
- self.failUnlessIsInstance(lst[0][2], CFErrorRef)
+ self.assertEqual(lst[0][1], None)
+ self.assertIsInstance(lst[0][2], CFErrorRef)
@min_os_level('10.5')
def testConstants(self):
- self.failUnlessIsInstance(kCFProxyTypeKey, unicode)
- self.failUnlessIsInstance(kCFProxyHostNameKey, unicode)
- self.failUnlessIsInstance(kCFProxyPortNumberKey, unicode)
- self.failUnlessIsInstance(kCFProxyAutoConfigurationURLKey, unicode)
- self.failUnlessIsInstance(kCFProxyUsernameKey, unicode)
- self.failUnlessIsInstance(kCFProxyPasswordKey, unicode)
- self.failUnlessIsInstance(kCFProxyTypeNone, unicode)
- self.failUnlessIsInstance(kCFProxyTypeHTTP, unicode)
- self.failUnlessIsInstance(kCFProxyTypeHTTPS, unicode)
- self.failUnlessIsInstance(kCFProxyTypeSOCKS, unicode)
- self.failUnlessIsInstance(kCFProxyTypeFTP, unicode)
- self.failUnlessIsInstance(kCFProxyTypeAutoConfigurationURL, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPProxy, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesProxyAutoConfigEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesProxyAutoConfigURLString, unicode)
+ self.assertIsInstance(kCFProxyTypeKey, unicode)
+ self.assertIsInstance(kCFProxyHostNameKey, unicode)
+ self.assertIsInstance(kCFProxyPortNumberKey, unicode)
+ self.assertIsInstance(kCFProxyAutoConfigurationURLKey, unicode)
+ self.assertIsInstance(kCFProxyUsernameKey, unicode)
+ self.assertIsInstance(kCFProxyPasswordKey, unicode)
+ self.assertIsInstance(kCFProxyTypeNone, unicode)
+ self.assertIsInstance(kCFProxyTypeHTTP, unicode)
+ self.assertIsInstance(kCFProxyTypeHTTPS, unicode)
+ self.assertIsInstance(kCFProxyTypeSOCKS, unicode)
+ self.assertIsInstance(kCFProxyTypeFTP, unicode)
+ self.assertIsInstance(kCFProxyTypeAutoConfigurationURL, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesProxyAutoConfigEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesProxyAutoConfigURLString, unicode)
@expectedFailure
@min_os_level('10.5')
def testConstants_fail(self):
- self.failUnlessIsInstance(kCFProxyAutoConfigurationHTTPResponseKey, unicode)
+ self.assertIsInstance(kCFProxyAutoConfigurationHTTPResponseKey, unicode)
@min_os_level('10.6')
def testFunctions10_6(self):
r = CFNetworkCopySystemProxySettings()
- self.failUnlessIsInstance(r, CFDictionaryRef)
+ self.assertIsInstance(r, CFDictionaryRef)
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessIsInstance(kCFNetworkProxiesExceptionsList, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesExcludeSimpleHostnames, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesFTPEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesFTPPassive, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesFTPPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesFTPProxy, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesGopherEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesGopherPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesGopherProxy, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPSEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPSPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesHTTPSProxy, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesRTSPEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesRTSPPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesRTSPProxy, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesSOCKSEnable, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesSOCKSPort, unicode)
- self.failUnlessIsInstance(kCFNetworkProxiesSOCKSProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesExceptionsList, unicode)
+ self.assertIsInstance(kCFNetworkProxiesExcludeSimpleHostnames, unicode)
+ self.assertIsInstance(kCFNetworkProxiesFTPEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesFTPPassive, unicode)
+ self.assertIsInstance(kCFNetworkProxiesFTPPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesFTPProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesGopherEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesGopherPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesGopherProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPSEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPSPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesHTTPSProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesRTSPEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesRTSPPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesRTSPProxy, unicode)
+ self.assertIsInstance(kCFNetworkProxiesSOCKSEnable, unicode)
+ self.assertIsInstance(kCFNetworkProxiesSOCKSPort, unicode)
+ self.assertIsInstance(kCFNetworkProxiesSOCKSProxy, unicode)
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfsocketstream.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfsocketstream.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/PyObjCTest/test_cfsocketstream.py Thu Apr 1 10:31:47 2010
@@ -5,95 +5,95 @@
class TestCFSocketStream (TestCase):
@min_os_level('10.5')
def testConstants10_5(self):
- self.failUnlessIsInstance(kCFStreamPropertySSLPeerTrust, unicode)
- self.failUnlessIsInstance(kCFStreamErrorDomainWinSock, (int, long))
+ self.assertIsInstance(kCFStreamPropertySSLPeerTrust, unicode)
+ self.assertIsInstance(kCFStreamErrorDomainWinSock, (int, long))
def testConstants(self):
- self.failUnlessIsInstance(kCFStreamPropertySSLPeerCertificates, unicode)
+ self.assertIsInstance(kCFStreamPropertySSLPeerCertificates, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySSLPeerCertificates, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySSLSettings, unicode)
- self.failUnlessIsInstance(kCFStreamSSLLevel, unicode)
- self.failUnlessIsInstance(kCFStreamSSLAllowsExpiredCertificates, unicode)
- self.failUnlessIsInstance(kCFStreamSSLAllowsExpiredRoots, unicode)
- self.failUnlessIsInstance(kCFStreamSSLAllowsAnyRoot, unicode)
- self.failUnlessIsInstance(kCFStreamSSLValidatesCertificateChain, unicode)
- self.failUnlessIsInstance(kCFStreamSSLPeerName, unicode)
- self.failUnlessIsInstance(kCFStreamSSLCertificates, unicode)
- self.failUnlessIsInstance(kCFStreamSSLIsServer, unicode)
- self.failUnlessIsInstance(kCFStreamErrorDomainSOCKS, (int, long))
-
- self.failUnlessEqual(kCFStreamErrorSOCKSSubDomainNone, 0)
- self.failUnlessEqual(kCFStreamErrorSOCKSSubDomainVersionCode, 1)
- self.failUnlessEqual(kCFStreamErrorSOCKS4SubDomainResponse, 2)
- self.failUnlessEqual(kCFStreamErrorSOCKS5SubDomainUserPass, 3)
- self.failUnlessEqual(kCFStreamErrorSOCKS5SubDomainMethod, 4)
- self.failUnlessEqual(kCFStreamErrorSOCKS5SubDomainResponse, 5)
- self.failUnlessEqual(kCFStreamErrorSOCKS5BadResponseAddr, 1)
- self.failUnlessEqual(kCFStreamErrorSOCKS5BadState, 2)
- self.failUnlessEqual(kCFStreamErrorSOCKSUnknownClientVersion, 3)
- self.failUnlessEqual(kCFStreamErrorSOCKS4RequestFailed, 91)
- self.failUnlessEqual(kCFStreamErrorSOCKS4IdentdFailed, 92)
- self.failUnlessEqual(kCFStreamErrorSOCKS4IdConflict, 93)
- self.failUnlessEqual(kSOCKS5NoAcceptableMethod, 0xFF)
-
- self.failUnlessIsInstance(kCFStreamPropertySOCKSProxyHost, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySOCKSProxyPort, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySOCKSVersion, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSOCKSVersion4, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSOCKSVersion5, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySOCKSUser, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySOCKSPassword, unicode)
- self.failUnlessIsInstance(kCFStreamErrorDomainSSL, (int, long))
- self.failUnlessIsInstance(kCFStreamPropertySocketSecurityLevel, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSecurityLevelNone, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSecurityLevelSSLv2, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSecurityLevelSSLv3, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSecurityLevelTLSv1, unicode)
- self.failUnlessIsInstance(kCFStreamSocketSecurityLevelNegotiatedSSL, unicode)
- self.failUnlessIsInstance(kCFStreamPropertyShouldCloseNativeSocket, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySocketRemoteHost, unicode)
- self.failUnlessIsInstance(kCFStreamPropertySocketRemoteNetService, unicode)
- self.failUnlessEqual(kCFStreamSocketSecurityNone, 0)
- self.failUnlessEqual(kCFStreamSocketSecuritySSLv2, 1)
- self.failUnlessEqual(kCFStreamSocketSecuritySSLv3, 2)
- self.failUnlessEqual(kCFStreamSocketSecuritySSLv23, 3)
- self.failUnlessEqual(kCFStreamSocketSecurityTLSv1, 4)
+ self.assertIsInstance(kCFStreamPropertySSLPeerCertificates, unicode)
+ self.assertIsInstance(kCFStreamPropertySSLSettings, unicode)
+ self.assertIsInstance(kCFStreamSSLLevel, unicode)
+ self.assertIsInstance(kCFStreamSSLAllowsExpiredCertificates, unicode)
+ self.assertIsInstance(kCFStreamSSLAllowsExpiredRoots, unicode)
+ self.assertIsInstance(kCFStreamSSLAllowsAnyRoot, unicode)
+ self.assertIsInstance(kCFStreamSSLValidatesCertificateChain, unicode)
+ self.assertIsInstance(kCFStreamSSLPeerName, unicode)
+ self.assertIsInstance(kCFStreamSSLCertificates, unicode)
+ self.assertIsInstance(kCFStreamSSLIsServer, unicode)
+ self.assertIsInstance(kCFStreamErrorDomainSOCKS, (int, long))
+
+ self.assertEqual(kCFStreamErrorSOCKSSubDomainNone, 0)
+ self.assertEqual(kCFStreamErrorSOCKSSubDomainVersionCode, 1)
+ self.assertEqual(kCFStreamErrorSOCKS4SubDomainResponse, 2)
+ self.assertEqual(kCFStreamErrorSOCKS5SubDomainUserPass, 3)
+ self.assertEqual(kCFStreamErrorSOCKS5SubDomainMethod, 4)
+ self.assertEqual(kCFStreamErrorSOCKS5SubDomainResponse, 5)
+ self.assertEqual(kCFStreamErrorSOCKS5BadResponseAddr, 1)
+ self.assertEqual(kCFStreamErrorSOCKS5BadState, 2)
+ self.assertEqual(kCFStreamErrorSOCKSUnknownClientVersion, 3)
+ self.assertEqual(kCFStreamErrorSOCKS4RequestFailed, 91)
+ self.assertEqual(kCFStreamErrorSOCKS4IdentdFailed, 92)
+ self.assertEqual(kCFStreamErrorSOCKS4IdConflict, 93)
+ self.assertEqual(kSOCKS5NoAcceptableMethod, 0xFF)
+
+ self.assertIsInstance(kCFStreamPropertySOCKSProxyHost, unicode)
+ self.assertIsInstance(kCFStreamPropertySOCKSProxyPort, unicode)
+ self.assertIsInstance(kCFStreamPropertySOCKSVersion, unicode)
+ self.assertIsInstance(kCFStreamSocketSOCKSVersion4, unicode)
+ self.assertIsInstance(kCFStreamSocketSOCKSVersion5, unicode)
+ self.assertIsInstance(kCFStreamPropertySOCKSUser, unicode)
+ self.assertIsInstance(kCFStreamPropertySOCKSPassword, unicode)
+ self.assertIsInstance(kCFStreamErrorDomainSSL, (int, long))
+ self.assertIsInstance(kCFStreamPropertySocketSecurityLevel, unicode)
+ self.assertIsInstance(kCFStreamSocketSecurityLevelNone, unicode)
+ self.assertIsInstance(kCFStreamSocketSecurityLevelSSLv2, unicode)
+ self.assertIsInstance(kCFStreamSocketSecurityLevelSSLv3, unicode)
+ self.assertIsInstance(kCFStreamSocketSecurityLevelTLSv1, unicode)
+ self.assertIsInstance(kCFStreamSocketSecurityLevelNegotiatedSSL, unicode)
+ self.assertIsInstance(kCFStreamPropertyShouldCloseNativeSocket, unicode)
+ self.assertIsInstance(kCFStreamPropertySocketRemoteHost, unicode)
+ self.assertIsInstance(kCFStreamPropertySocketRemoteNetService, unicode)
+ self.assertEqual(kCFStreamSocketSecurityNone, 0)
+ self.assertEqual(kCFStreamSocketSecuritySSLv2, 1)
+ self.assertEqual(kCFStreamSocketSecuritySSLv3, 2)
+ self.assertEqual(kCFStreamSocketSecuritySSLv23, 3)
+ self.assertEqual(kCFStreamSocketSecurityTLSv1, 4)
- self.failUnlessIsInstance(kCFStreamPropertyProxyLocalBypass, unicode)
+ self.assertIsInstance(kCFStreamPropertyProxyLocalBypass, unicode)
def testFunctions(self):
err = CFStreamError()
err.error = (1<<16)+2
v = CFSocketStreamSOCKSGetErrorSubdomain(err)
- self.failUnlessEqual(v, 1)
+ self.assertEqual(v, 1)
v = CFSocketStreamSOCKSGetError(err)
- self.failUnlessEqual(v, 2)
+ self.assertEqual(v, 2)
- self.failUnlessArgIsCFRetained(CFStreamCreatePairWithSocketToCFHost, 3)
- self.failUnlessArgIsCFRetained(CFStreamCreatePairWithSocketToCFHost, 4)
- self.failUnlessArgIsOut(CFStreamCreatePairWithSocketToCFHost, 3)
- self.failUnlessArgIsOut(CFStreamCreatePairWithSocketToCFHost, 4)
+ self.assertArgIsCFRetained(CFStreamCreatePairWithSocketToCFHost, 3)
+ self.assertArgIsCFRetained(CFStreamCreatePairWithSocketToCFHost, 4)
+ self.assertArgIsOut(CFStreamCreatePairWithSocketToCFHost, 3)
+ self.assertArgIsOut(CFStreamCreatePairWithSocketToCFHost, 4)
host = CFHostCreateWithName(None, u"connect.apple.com")
rd, wr = CFStreamCreatePairWithSocketToCFHost(None, host, 443, None, None)
- self.failUnlessIsInstance(rd, CFReadStreamRef)
- self.failUnlessIsInstance(wr, CFWriteStreamRef)
+ self.assertIsInstance(rd, CFReadStreamRef)
+ self.assertIsInstance(wr, CFWriteStreamRef)
- self.failUnlessResultIsBOOL(CFSocketStreamPairSetSecurityProtocol)
+ self.assertResultIsBOOL(CFSocketStreamPairSetSecurityProtocol)
v = CFSocketStreamPairSetSecurityProtocol(rd, wr, kCFStreamSocketSecuritySSLv23)
- self.failUnlessIsInstance(v, bool)
+ self.assertIsInstance(v, bool)
- self.failUnlessArgIsCFRetained(CFStreamCreatePairWithSocketToNetService, 2)
- self.failUnlessArgIsCFRetained(CFStreamCreatePairWithSocketToNetService, 3)
- self.failUnlessArgIsOut(CFStreamCreatePairWithSocketToNetService, 2)
- self.failUnlessArgIsOut(CFStreamCreatePairWithSocketToNetService, 3)
+ self.assertArgIsCFRetained(CFStreamCreatePairWithSocketToNetService, 2)
+ self.assertArgIsCFRetained(CFStreamCreatePairWithSocketToNetService, 3)
+ self.assertArgIsOut(CFStreamCreatePairWithSocketToNetService, 2)
+ self.assertArgIsOut(CFStreamCreatePairWithSocketToNetService, 3)
service = CFNetServiceCreate(None, u"pyobjc.local", u"ssh", u"pyobjc.test.local", 9999)
rd, wr = CFStreamCreatePairWithSocketToNetService(None, service, None, None)
- self.failUnlessIsInstance(rd, CFReadStreamRef)
- self.failUnlessIsInstance(wr, CFWriteStreamRef)
+ self.assertIsInstance(rd, CFReadStreamRef)
+ self.assertIsInstance(wr, CFWriteStreamRef)
Modified: trunk/pyobjc/pyobjc-framework-CFNetwork/pyobjc_setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CFNetwork/pyobjc_setup.py (original)
+++ trunk/pyobjc/pyobjc-framework-CFNetwork/pyobjc_setup.py Thu Apr 1 10:31:47 2010
@@ -7,13 +7,68 @@
__all__ = ('setup', 'Extension', 'Command')
-import ez_setup
-ez_setup.use_setuptools()
+import sys
+if sys.version_info[:2] < (3, 0):
+ import ez_setup
+ ez_setup.use_setuptools()
+
+ from setuptools.command.test import test as oc_test
+ from setuptools.command.build_py import build_py as oc_build_py
+
+ extra_args = {}
+
+
+else:
+ import distribute_setup
+ distribute_setup.use_setuptools()
+
+ from setuptools.command import test
+ from setuptools.command import build_py
+
+ from distutils import log
+
+ extra_args=dict(
+ use_2to3 = True,
+ )
+
+
+ class oc_build_py (build_py.build_py):
+ def build_packages(self):
+ log.info("Overriding build_packages to copy PyObjCTest")
+ p = self.packages
+ self.packages = list(self.packages) + ['PyObjCTest']
+ try:
+ build_py.build_py.build_packages(self)
+ finally:
+ self.packages = p
+
+
+
+ class oc_test (test.test):
+ def run_tests(self):
+ import sys, os
+
+ rootdir = os.path.dirname(os.path.abspath(__file__))
+ if rootdir in sys.path:
+ sys.path.remove(rootdir)
+
+ import PyObjCTest
+ import unittest
+ from pkg_resources import EntryPoint
+ loader_ep = EntryPoint.parse("x="+self.test_loader)
+ loader_class = loader_ep.load(require=False)
+
+ unittest.main(None, None, [unittest.__file__]+self.test_args, testLoader=loader_class())
+
+
from setuptools import setup as _setup, Extension as _Extension, Command
from distutils.errors import DistutilsPlatformError
from distutils.command import build, install, install_lib
from setuptools.command import develop, test, build_ext
+import pkg_resources
+import shutil
+import os
import plistlib
import sys
import __main__
@@ -34,7 +89,35 @@
class pyobjc_build_ext (build_ext.build_ext):
def run(self):
+
+ # Ensure that the PyObjC header files are available
+ # in 2.3 and later the headers are in the egg,
+ # before that we ship a copy.
+ dist, = pkg_resources.require('pyobjc-core')
+
+ include_root = os.path.join(self.build_temp, 'pyobjc-include')
+ if os.path.exists(include_root):
+ shutil.rmtree(include_root)
+
+ os.makedirs(include_root)
+ if dist.has_metadata('include'):
+ for fn in dist.metadata_listdir('include'):
+ data = dist.get_metadata('include/%s'%(fn,))
+ open(os.path.join(include_root, fn), 'w').write(data)
+
+ else:
+ data = gPyObjCAPI_H
+ open(os.path.join(include_rot, 'pyobjc-api.h'), 'w').write(data)
+
+ for e in self.extensions:
+ if include_root not in e.include_dirs:
+ e.include_dirs.append(include_root)
+
+ # Run the actual build
build_ext.build_ext.run(self)
+
+ # Then tweak the copy_extensions bit to ensure PyObjCTest gets
+ # copied to the right place.
extensions = self.extensions
self.extensions = [
e for e in extensions if e.name.startswith('PyObjCTest') ]
@@ -76,6 +159,10 @@
cmdclass=None,
**kwds):
+
+ k = kwds.copy()
+ k.update(extra_args)
+
os_level = get_os_level()
os_compatible = True
if sys.platform != 'darwin':
@@ -114,12 +201,17 @@
return subcommand
cmdclass['build'] = create_command_subclass(build.build)
- cmdclass['test'] = create_command_subclass(test.test)
+ cmdclass['test'] = create_command_subclass(oc_test)
cmdclass['install'] = create_command_subclass(install.install)
cmdclass['develop'] = create_command_subclass(develop.develop)
+ cmdclass['build_py'] = create_command_subclass(oc_build_py)
else:
cmdclass['build_ext'] = pyobjc_build_ext
cmdclass['install_lib'] = pyobjc_install_lib
+ cmdclass['test'] = oc_test
+ cmdclass['build_py'] = oc_build_py
+
+
_setup(
cmdclass=cmdclass,
@@ -133,5 +225,495 @@
package_data = { '': ['*.bridgesupport'] },
test_suite='PyObjCTest',
zip_safe = True,
- **kwds
+ **k
)
+
+
+gPyObjCAPI_H="""\
+#ifndef PyObjC_API_H
+#define PyObjC_API_H
+
+/*
+ * Use this in helper modules for the objc package, and in wrappers
+ * for functions that deal with objective-C objects/classes
+ *
+ * This header defines some utility wrappers for importing and using
+ * the core bridge.
+ *
+ * This is the *only* header file that should be used to access
+ * functionality in the core bridge.
+ *
+ * WARNING: this file is not part of the public interface of PyObjC and
+ * might change or be removed without warning or regard for backward
+ * compatibility.
+ */
+
+#include "Python.h"
+#include <objc/objc.h>
+
+#import <Foundation/Foundation.h>
+
+#ifndef CGFLOAT_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no CFFloat available???"
+#endif
+
+typedef float CGFloat;
+#define CGFLOAT_MIN FLT_MIN
+#define CGFLOAT_MAX FLT_MAX
+#define CGFLOAT_IS_DOUBLE 0
+#define CGFLOAT_DEFINED
+
+#endif /* CGFLOAT_DEFINED */
+
+
+#ifndef NSINTEGER_DEFINED
+
+#ifdef __LP64__
+# error "Huh? 64-bit but no NSINTEGER available???"
+#endif
+
+typedef int NSInteger;
+typedef unsigned int NSUInteger;
+
+#define NSIntegerMax LONG_MAX
+#define NSIntegerMin LONG_MIN
+#define NSUIntegerMax ULONG_MAX
+
+#define NSINTEGER_DEFINED
+
+#endif
+
+
+#ifndef PyObjC_COMPAT_H
+#if (PY_VERSION_HEX < 0x02050000)
+typedef int Py_ssize_t;
+#define PY_FORMAT_SIZE_T ""
+#define Py_ARG_SIZE_T "n"
+#define PY_SSIZE_T_MAX INT_MAX
+
+#else
+
+#define Py_ARG_SIZE_T "i"
+#endif
+#endif
+
+#import <Foundation/NSException.h>
+
+struct PyObjC_WeakLink {
+ const char* name;
+ void (*func)(void);
+};
+
+
+/* threading support */
+#ifdef NO_OBJC2_RUNTIME
+#define PyObjC_DURING \
+ Py_BEGIN_ALLOW_THREADS \
+ NS_DURING
+
+#define PyObjC_HANDLER NS_HANDLER
+
+#define PyObjC_ENDHANDLER \
+ NS_ENDHANDLER \
+ Py_END_ALLOW_THREADS
+#else
+
+#define PyObjC_DURING \
+ Py_BEGIN_ALLOW_THREADS \
+ @try {
+
+#define PyObjC_HANDLER } @catch(volatile NSObject* _localException) { \
+ NSException* localException __attribute__((__unused__))= (NSException*)_localException;
+
+#define PyObjC_ENDHANDLER \
+ } \
+ Py_END_ALLOW_THREADS
+
+#endif
+
+#define PyObjC_BEGIN_WITH_GIL \
+ { \
+ PyGILState_STATE _GILState; \
+ _GILState = PyGILState_Ensure();
+
+#define PyObjC_GIL_FORWARD_EXC() \
+ do { \
+ PyObjCErr_ToObjCWithGILState(&_GILState); \
+ } while (0)
+
+
+#define PyObjC_GIL_RETURN(val) \
+ do { \
+ PyGILState_Release(_GILState); \
+ return (val); \
+ } while (0)
+
+#define PyObjC_GIL_RETURNVOID \
+ do { \
+ PyGILState_Release(_GILState); \
+ return; \
+ } while (0)
+
+
+#define PyObjC_END_WITH_GIL \
+ PyGILState_Release(_GILState); \
+ }
+
+
+
+#include <objc/objc-runtime.h>
+
+/* On 10.1 there are no defines for the OS version. */
+#ifndef MAC_OS_X_VERSION_10_1
+#define MAC_OS_X_VERSION_10_1 1010
+#define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_1
+
+#error "MAC_OS_X_VERSION_10_1 not defined. You aren't running 10.1 are you?"
+
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_2
+#define MAC_OS_X_VERSION_10_2 1020
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_3
+#define MAC_OS_X_VERSION_10_3 1030
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_4
+#define MAC_OS_X_VERSION_10_4 1040
+#endif
+
+#ifndef MAC_OS_X_VERSION_10_5
+#define MAC_OS_X_VERSION_10_5 1050
+#endif
+
+/* Current API version, increase whenever:
+ * - Semantics of current functions change
+ * - Functions are removed
+ * Do not increase when adding a new function, the struct_len field
+ * can be used for detecting if a function has been added.
+ *
+ * HISTORY:
+ * - Version 2.2 adds PyObjCUnsupportedMethod_IMP
+ * and PyObjCUnsupportedMethod_Caller
+ * - Version 2.1 adds PyObjCPointerWrapper_Register
+ * - Version 2 adds an argument to PyObjC_InitSuper
+ * - Version 3 adds another argument to PyObjC_CallPython
+ * - Version 4 adds PyObjCErr_ToObjCGILState
+ * - Version 4.1 adds PyObjCRT_AlignOfType and PyObjCRT_SizeOfType
+ * (PyObjC_SizeOfType is now deprecated)
+ * - Version 4.2 adds PyObjCRT_SELName
+ * - Version 4.3 adds PyObjCRT_SimplifySignature
+ * - Version 4.4 adds PyObjC_FreeCArray, PyObjC_PythonToCArray and
+ * PyObjC_CArrayToPython
+ * - Version 5 modifies the signature for PyObjC_RegisterMethodMapping,
+ * PyObjC_RegisterSignatureMapping and PyObjCUnsupportedMethod_IMP,
+ * adds PyObjC_RegisterStructType and removes PyObjC_CallPython
+ * - Version 6 adds PyObjCIMP_Type, PyObjCIMP_GetIMP and PyObjCIMP_GetSelector
+ * - Version 7 adds PyObjCErr_AsExc, PyGILState_Ensure
+ * - Version 8 adds PyObjCObject_IsUninitialized,
+ removes PyObjCSelector_IsInitializer
+ * - Version 9 (???)
+ * - Version 10 changes the signature of PyObjCRT_SimplifySignature
+ * - Version 11 adds PyObjCObject_Convert, PyObjCSelector_Convert,
+ PyObjCClass_Convert, PyObjC_ConvertBOOL, and PyObjC_ConvertChar
+ * - Version 12 adds PyObjCObject_New
+ * - Version 13 adds PyObjCCreateOpaquePointerType
+ * - Version 14 adds PyObjCObject_NewTransient, PyObjCObject_ReleaseTransient
+ * - Version 15 changes the interface of PyObjCObject_New
+ * - Version 16 adds PyObjC_PerformWeaklinking
+ * - Version 17 introduces Py_ssize_t support
+ * - Version 18 introduces several API incompatibilities
+ */
+#define PYOBJC_API_VERSION 18
+
+#define PYOBJC_API_NAME "__C_API__"
+
+/*
+ * Only add items to the end of this list!
+ */
+typedef int (RegisterMethodMappingFunctionType)(
+ Class,
+ SEL,
+ PyObject *(*)(PyObject*, PyObject*, PyObject*),
+ void (*)(void*, void*, void**, void*));
+
+struct pyobjc_api {
+ int api_version; /* API version */
+ size_t struct_len; /* Length of this struct */
+ PyTypeObject* class_type; /* PyObjCClass_Type */
+ PyTypeObject* object_type; /* PyObjCObject_Type */
+ PyTypeObject* select_type; /* PyObjCSelector_Type */
+
+ /* PyObjC_RegisterMethodMapping */
+ RegisterMethodMappingFunctionType *register_method_mapping;
+
+ /* PyObjC_RegisterSignatureMapping */
+ int (*register_signature_mapping)(
+ char*,
+ PyObject *(*)(PyObject*, PyObject*, PyObject*),
+ void (*)(void*, void*, void**, void*));
+
+ /* PyObjCObject_GetObject */
+ id (*obj_get_object)(PyObject*);
+
+ /* PyObjCObject_ClearObject */
+ void (*obj_clear_object)(PyObject*);
+
+ /* PyObjCClass_GetClass */
+ Class (*cls_get_class)(PyObject*);
+
+ /* PyObjCClass_New */
+ PyObject* (*cls_to_python)(Class cls);
+
+ /* PyObjC_PythonToId */
+ id (*python_to_id)(PyObject*);
+
+ /* PyObjC_IdToPython */
+ PyObject* (*id_to_python)(id);
+
+ /* PyObjCErr_FromObjC */
+ void (*err_objc_to_python)(NSException*);
+
+ /* PyObjCErr_ToObjC */
+ void (*err_python_to_objc)(void);
+
+ /* PyObjC_PythonToObjC */
+ int (*py_to_objc)(const char*, PyObject*, void*);
+
+ /* PyObjC_ObjCToPython */
+ PyObject* (*objc_to_py)(const char*, void*);
+
+ /* PyObjC_SizeOfType */
+ Py_ssize_t (*sizeof_type)(const char*);
+
+ /* PyObjCSelector_GetClass */
+ Class (*sel_get_class)(PyObject* sel);
+
+ /* PyObjCSelector_GetSelector */
+ SEL (*sel_get_sel)(PyObject* sel);
+
+ /* PyObjC_InitSuper */
+ void (*fill_super)(struct objc_super*, Class, id);
+
+ /* PyObjC_InitSuperCls */
+ void (*fill_super_cls)(struct objc_super*, Class, Class);
+
+ /* PyObjCPointerWrapper_Register */
+ int (*register_pointer_wrapper)(
+ const char*, PyObject* (*pythonify)(void*),
+ int (*depythonify)(PyObject*, void*)
+ );
+
+ void (*unsupported_method_imp)(void*, void*, void**, void*);
+ PyObject* (*unsupported_method_caller)(PyObject*, PyObject*, PyObject*);
+
+ /* PyObjCErr_ToObjCWithGILState */
+ void (*err_python_to_objc_gil)(PyGILState_STATE* state);
+
+ /* PyObjCRT_AlignOfType */
+ Py_ssize_t (*alignof_type)(const char* typestr);
+
+ /* PyObjCRT_SELName */
+ const char* (*selname)(SEL sel);
+
+ /* PyObjCRT_SimplifySignature */
+ int (*simplify_sig)(char* signature, char* buf, size_t buflen);
+
+ /* PyObjC_FreeCArray */
+ void (*free_c_array)(int,void*);
+
+ /* PyObjC_PythonToCArray */
+ int (*py_to_c_array)(BOOL, BOOL, const char*, PyObject*, void**, Py_ssize_t*, PyObject**);
+
+ /* PyObjC_CArrayToPython */
+ PyObject* (*c_array_to_py)(const char*, void*, Py_ssize_t);
+
+ /* PyObjC_RegisterStructType */
+ PyObject* (*register_struct)(const char*, const char*, const char*, initproc, Py_ssize_t, const char**);
+
+ /* PyObjCIMP_Type */
+ PyTypeObject* imp_type;
+
+ /* PyObjCIMP_GetIMP */
+ IMP (*imp_get_imp)(PyObject*);
+
+ /* PyObjCIMP_GetSelector */
+ SEL (*imp_get_sel)(PyObject*);
+
+ /* PyObjCErr_AsExc */
+ NSException* (*err_python_to_nsexception)(void);
+
+ /* PyGILState_Ensure */
+ PyGILState_STATE (*gilstate_ensure)(void);
+
+ /* PyObjCObject_IsUninitialized */
+ int (*obj_is_uninitialized)(PyObject*);
+
+ /* PyObjCObject_Convert */
+ int (*pyobjcobject_convert)(PyObject*,void*);
+
+ /* PyObjCSelector_Convert */
+ int (*pyobjcselector_convert)(PyObject*,void*);
+
+ /* PyObjCClass_Convert */
+ int (*pyobjcclass_convert)(PyObject*,void*);
+
+ /* PyObjC_ConvertBOOL */
+ int (*pyobjc_convertbool)(PyObject*,void*);
+
+ /* PyObjC_ConvertChar */
+ int (*pyobjc_convertchar)(PyObject*,void*);
+
+ /* PyObjCObject_New */
+ PyObject* (*pyobjc_object_new)(id, int , int);
+
+ /* PyObjCCreateOpaquePointerType */
+ PyObject* (*pointer_type_new)(const char*, const char*, const char*);
+
+ /* PyObject* PyObjCObject_NewTransient(id objc_object, int* cookie); */
+ PyObject* (*newtransient)(id objc_object, int* cookie);
+
+ /* void PyObjCObject_ReleaseTransient(PyObject* proxy, int cookie); */
+ void (*releasetransient)(PyObject* proxy, int cookie);
+
+ void (*doweaklink)(PyObject*, struct PyObjC_WeakLink*);
+
+ const char* (*removefields)(char*, const char*);
+
+ PyObject** pyobjc_null;
+
+ int (*dep_c_array_count)(const char* type, Py_ssize_t count, BOOL strict, PyObject* value, void* datum);
+
+ PyObject* (*varlistnew)(const char* tp, void* array);
+};
+
+#ifndef PYOBJC_BUILD
+
+#ifndef PYOBJC_METHOD_STUB_IMPL
+static struct pyobjc_api* PyObjC_API;
+#endif /* PYOBJC_METHOD_STUB_IMPL */
+
+#define PyObjCObject_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->object_type)
+#define PyObjCClass_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->class_type)
+#define PyObjCSelector_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->select_type)
+#define PyObjCIMP_Check(obj) PyObject_TypeCheck(obj, PyObjC_API->imp_type)
+#define PyObjCObject_GetObject (PyObjC_API->obj_get_object)
+#define PyObjCObject_ClearObject (PyObjC_API->obj_clear_object)
+#define PyObjCClass_GetClass (PyObjC_API->cls_get_class)
+#define PyObjCClass_New (PyObjC_API->cls_to_python)
+#define PyObjCSelector_GetClass (PyObjC_API->sel_get_class)
+#define PyObjCSelector_GetSelector (PyObjC_API->sel_get_sel)
+#define PyObjC_PythonToId (PyObjC_API->python_to_id)
+#define PyObjC_IdToPython (PyObjC_API->id_to_python)
+#define PyObjCErr_FromObjC (PyObjC_API->err_objc_to_python)
+#define PyObjCErr_ToObjC (PyObjC_API->err_python_to_objc)
+#define PyObjCErr_ToObjCWithGILState (PyObjC_API->err_python_to_objc_gil)
+#define PyObjCErr_AsExc (PyObjC_API->err_python_to_nsexception)
+#define PyObjC_PythonToObjC (PyObjC_API->py_to_objc)
+#define PyObjC_ObjCToPython (PyObjC_API->objc_to_py)
+#define PyObjC_RegisterMethodMapping (PyObjC_API->register_method_mapping)
+#define PyObjC_RegisterSignatureMapping (PyObjC_API->register_signature_mapping)
+#define PyObjC_SizeOfType (PyObjC_API->sizeof_type)
+#define PyObjC_PythonToObjC (PyObjC_API->py_to_objc)
+#define PyObjC_ObjCToPython (PyObjC_API->objc_to_py)
+#define PyObjC_InitSuper (PyObjC_API->fill_super)
+#define PyObjC_InitSuperCls (PyObjC_API->fill_super_cls)
+#define PyObjCPointerWrapper_Register (PyObjC_API->register_pointer_wrapper)
+#define PyObjCUnsupportedMethod_IMP (PyObjC_API->unsupported_method_imp)
+#define PyObjCUnsupportedMethod_Caller (PyObjC_API->unsupported_method_caller)
+#define PyObjCRT_SizeOfType (PyObjC_API->sizeof_type)
+#define PyObjCRT_AlignOfType (PyObjC_API->alignof_type)
+#define PyObjCRT_SELName (PyObjC_API->selname)
+#define PyObjCRT_SimplifySignature (PyObjC_API->simplify_sig)
+#define PyObjC_FreeCArray (PyObjC_API->free_c_array)
+#define PyObjC_PythonToCArray (PyObjC_API->py_to_c_array)
+#define PyObjC_CArrayToPython (PyObjC_API->c_array_to_py)
+#define PyObjC_RegisterStructType (PyObjC_API->register_struct)
+#define PyObjCIMP_GetIMP (PyObjC_API->imp_get_imp)
+#define PyObjCIMP_GetSelector (PyObjC_API->imp_get_sel)
+#define PyObjCObject_IsUninitialized (PyObjC_API->obj_is_uninitialized)
+#define PyObjCObject_Convert (PyObjC_API->pyobjcobject_convert)
+#define PyObjCSelector_Convert (PyObjC_API->pyobjcselector_convert)
+#define PyObjCClass_Convert (PyObjC_API->pyobjcselector_convert)
+#define PyObjC_ConvertBOOL (PyObjC_API->pyobjc_convertbool)
+#define PyObjC_ConvertChar (PyObjC_API->pyobjc_convertchar)
+#define PyObjCObject_New (PyObjC_API->pyobjc_object_new)
+#define PyObjCCreateOpaquePointerType (PyObjC_API->pointer_type_new)
+#define PyObjCObject_NewTransient (PyObjC_API->newtransient)
+#define PyObjCObject_ReleaseTransient (PyObjC_API->releasetransient)
+#define PyObjC_PerformWeaklinking (PyObjC_API->doweaklink)
+#define PyObjCRT_RemoveFieldNames (PyObjC_API->removefields)
+#define PyObjC_NULL (*(PyObjC_API->pyobjc_null))
+#define PyObjC_DepythonifyCArray (PyObjC_API->dep_c_array_count)
+#define PyObjC_VarList_New (PyObjC_API->varlistnew)
+
+
+#ifndef PYOBJC_METHOD_STUB_IMPL
+
+static int
+PyObjC_ImportAPI(PyObject* calling_module)
+{
+ PyObject* m;
+ PyObject* d;
+ PyObject* api_obj;
+ PyObject* name = PyString_FromString("objc");
+
+ m = PyImport_Import(name);
+ Py_DECREF(name);
+ if (m == NULL) {
+ return -1;
+ }
+
+ d = PyModule_GetDict(m);
+ if (d == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "No dict in objc module");
+ return -1;
+ }
+
+ api_obj = PyDict_GetItemString(d, PYOBJC_API_NAME);
+ if (api_obj == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "No C_API in objc module");
+ return -1;
+ }
+ PyObjC_API = PyCObject_AsVoidPtr(api_obj);
+ if (PyObjC_API == NULL) {
+ return 0;
+ }
+ if (PyObjC_API->api_version != PYOBJC_API_VERSION) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Wrong version of PyObjC C API");
+ return -1;
+ }
+
+ if (PyObjC_API->struct_len < sizeof(struct pyobjc_api)) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "Wrong struct-size of PyObjC C API");
+ return -1;
+ }
+
+ Py_INCREF(api_obj);
+
+ /* Current pyobjc implementation doesn't allow deregistering
+ * information, avoid unloading of users of the C-API.
+ * (Yes this is ugle, patches to fix this situation are apriciated)
+ */
+ Py_INCREF(calling_module);
+
+ return 0;
+}
+#endif /* PYOBJC_METHOD_STUB_IMPL */
+
+#else /* PyObjC_BUILD */
+
+extern struct pyobjc_api objc_api;
+
+#endif /* !PYOBJC_BUILD */
+
+#endif /* PyObjC_API_H */
+"""
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev