[PyObjC-svn] r2425 - in trunk/pyobjc/pyobjc-framework-CoreData: . Lib/CoreData PyObjCTest
[email protected] Thu, 01 Apr 2010 13:13:29 -0500
| Newsgroups | gmane.comp.python.pyobjc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: ronaldoussoren
Date: Thu Apr 1 13:13:29 2010
New Revision: 2425
Log:
Port to py3k
Added:
trunk/pyobjc/pyobjc-framework-CoreData/distribute_setup.py (contents, props changed)
Modified:
trunk/pyobjc/pyobjc-framework-CoreData/Lib/CoreData/_convenience.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredatadefines.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredataerrors.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_managedkvo.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsatomicstore.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsattributedescription.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitydescription.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymapping.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymigrationpolicy.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequest.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequestexpression.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobject.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectcontext.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectid.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectmodel.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmappingmodel.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmigrationmanager.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstore.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstorecoordinator.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspropertydescription.py
trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsrelationshipdescription.py
trunk/pyobjc/pyobjc-framework-CoreData/pyobjc_setup.py
Modified: trunk/pyobjc/pyobjc-framework-CoreData/Lib/CoreData/_convenience.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/Lib/CoreData/_convenience.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/Lib/CoreData/_convenience.py Thu Apr 1 13:13:29 2010
@@ -20,6 +20,7 @@
except KeyError, msg:
NSObject.__setattr__(self, name, value)
+
def NSMOgetValueForKey_(self, name):
try:
if '__objc_python_subclass__' in self.__class__.__dict__:
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredatadefines.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredatadefines.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredatadefines.py Thu Apr 1 13:13:29 2010
@@ -4,15 +4,15 @@
class TestCoreDataDefines (TestCase):
def testConstants(self):
- self.failUnlessIsInstance(NSCoreDataVersionNumber, float)
+ self.assertIsInstance(NSCoreDataVersionNumber, float)
- self.failUnlessEqual(NSCoreDataVersionNumber10_4, 46.0)
- self.failUnlessEqual(NSCoreDataVersionNumber10_4_3, 77.0)
+ self.assertEqual(NSCoreDataVersionNumber10_4, 46.0)
+ self.assertEqual(NSCoreDataVersionNumber10_4_3, 77.0)
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessEqual(NSCoreDataVersionNumber10_5, 185.0)
- self.failUnlessEqual(NSCoreDataVersionNumber10_5_3, 186.0)
+ self.assertEqual(NSCoreDataVersionNumber10_5, 185.0)
+ self.assertEqual(NSCoreDataVersionNumber10_5_3, 186.0)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredataerrors.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredataerrors.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_coredataerrors.py Thu Apr 1 13:13:29 2010
@@ -6,62 +6,62 @@
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessEqual(NSInferredMappingModelError, 134190)
- self.failUnlessEqual(NSExternalRecordImportError, 134200)
+ self.assertEqual(NSInferredMappingModelError, 134190)
+ self.assertEqual(NSExternalRecordImportError, 134200)
@min_os_level("10.5")
def testConstants10_5(self):
- self.failUnlessIsInstance(NSSQLiteErrorDomain, unicode)
+ self.assertIsInstance(NSSQLiteErrorDomain, unicode)
- self.failUnlessEqual(NSCoreDataError, 134060)
- self.failUnlessEqual(NSPersistentStoreOperationError, 134070)
- self.failUnlessEqual(NSPersistentStoreOpenError, 134080)
- self.failUnlessEqual(NSPersistentStoreTimeoutError, 134090)
- self.failUnlessEqual(NSPersistentStoreIncompatibleVersionHashError, 134100)
- self.failUnlessEqual(NSMigrationError, 134110)
- self.failUnlessEqual(NSMigrationCancelledError, 134120)
- self.failUnlessEqual(NSMigrationMissingSourceModelError, 134130)
- self.failUnlessEqual(NSMigrationMissingMappingModelError, 134140)
- self.failUnlessEqual(NSMigrationManagerSourceStoreError, 134150)
- self.failUnlessEqual(NSMigrationManagerDestinationStoreError, 134160)
- self.failUnlessEqual(NSEntityMigrationPolicyError, 134170)
- self.failUnlessEqual(NSSQLiteError, 134180)
+ self.assertEqual(NSCoreDataError, 134060)
+ self.assertEqual(NSPersistentStoreOperationError, 134070)
+ self.assertEqual(NSPersistentStoreOpenError, 134080)
+ self.assertEqual(NSPersistentStoreTimeoutError, 134090)
+ self.assertEqual(NSPersistentStoreIncompatibleVersionHashError, 134100)
+ self.assertEqual(NSMigrationError, 134110)
+ self.assertEqual(NSMigrationCancelledError, 134120)
+ self.assertEqual(NSMigrationMissingSourceModelError, 134130)
+ self.assertEqual(NSMigrationMissingMappingModelError, 134140)
+ self.assertEqual(NSMigrationManagerSourceStoreError, 134150)
+ self.assertEqual(NSMigrationManagerDestinationStoreError, 134160)
+ self.assertEqual(NSEntityMigrationPolicyError, 134170)
+ self.assertEqual(NSSQLiteError, 134180)
def testConstants(self):
- self.failUnlessIsInstance(NSDetailedErrorsKey, unicode)
- self.failUnlessIsInstance(NSValidationObjectErrorKey, unicode)
- self.failUnlessIsInstance(NSValidationKeyErrorKey, unicode)
- self.failUnlessIsInstance(NSValidationPredicateErrorKey, unicode)
- self.failUnlessIsInstance(NSValidationValueErrorKey, unicode)
- self.failUnlessIsInstance(NSAffectedStoresErrorKey, unicode)
- self.failUnlessIsInstance(NSAffectedObjectsErrorKey, unicode)
-
-
- self.failUnlessEqual(NSManagedObjectValidationError, 1550)
- self.failUnlessEqual(NSValidationMultipleErrorsError, 1560)
- self.failUnlessEqual(NSValidationMissingMandatoryPropertyError, 1570)
- self.failUnlessEqual(NSValidationRelationshipLacksMinimumCountError, 1580)
- self.failUnlessEqual(NSValidationRelationshipExceedsMaximumCountError, 1590)
- self.failUnlessEqual(NSValidationRelationshipDeniedDeleteError, 1600)
- self.failUnlessEqual(NSValidationNumberTooLargeError, 1610)
- self.failUnlessEqual(NSValidationNumberTooSmallError, 1620)
- self.failUnlessEqual(NSValidationDateTooLateError, 1630)
- self.failUnlessEqual(NSValidationDateTooSoonError, 1640)
- self.failUnlessEqual(NSValidationInvalidDateError, 1650)
- self.failUnlessEqual(NSValidationStringTooLongError, 1660)
- self.failUnlessEqual(NSValidationStringTooShortError, 1670)
- self.failUnlessEqual(NSValidationStringPatternMatchingError, 1680)
- self.failUnlessEqual(NSManagedObjectContextLockingError, 132000)
- self.failUnlessEqual(NSPersistentStoreCoordinatorLockingError, 132010)
- self.failUnlessEqual(NSManagedObjectReferentialIntegrityError, 133000)
- self.failUnlessEqual(NSManagedObjectExternalRelationshipError, 133010)
- self.failUnlessEqual(NSManagedObjectMergeError, 133020)
- self.failUnlessEqual(NSPersistentStoreInvalidTypeError, 134000)
- self.failUnlessEqual(NSPersistentStoreTypeMismatchError, 134010)
- self.failUnlessEqual(NSPersistentStoreIncompatibleSchemaError, 134020)
- self.failUnlessEqual(NSPersistentStoreSaveError, 134030)
- self.failUnlessEqual(NSPersistentStoreIncompleteSaveError, 134040)
+ self.assertIsInstance(NSDetailedErrorsKey, unicode)
+ self.assertIsInstance(NSValidationObjectErrorKey, unicode)
+ self.assertIsInstance(NSValidationKeyErrorKey, unicode)
+ self.assertIsInstance(NSValidationPredicateErrorKey, unicode)
+ self.assertIsInstance(NSValidationValueErrorKey, unicode)
+ self.assertIsInstance(NSAffectedStoresErrorKey, unicode)
+ self.assertIsInstance(NSAffectedObjectsErrorKey, unicode)
+
+
+ self.assertEqual(NSManagedObjectValidationError, 1550)
+ self.assertEqual(NSValidationMultipleErrorsError, 1560)
+ self.assertEqual(NSValidationMissingMandatoryPropertyError, 1570)
+ self.assertEqual(NSValidationRelationshipLacksMinimumCountError, 1580)
+ self.assertEqual(NSValidationRelationshipExceedsMaximumCountError, 1590)
+ self.assertEqual(NSValidationRelationshipDeniedDeleteError, 1600)
+ self.assertEqual(NSValidationNumberTooLargeError, 1610)
+ self.assertEqual(NSValidationNumberTooSmallError, 1620)
+ self.assertEqual(NSValidationDateTooLateError, 1630)
+ self.assertEqual(NSValidationDateTooSoonError, 1640)
+ self.assertEqual(NSValidationInvalidDateError, 1650)
+ self.assertEqual(NSValidationStringTooLongError, 1660)
+ self.assertEqual(NSValidationStringTooShortError, 1670)
+ self.assertEqual(NSValidationStringPatternMatchingError, 1680)
+ self.assertEqual(NSManagedObjectContextLockingError, 132000)
+ self.assertEqual(NSPersistentStoreCoordinatorLockingError, 132010)
+ self.assertEqual(NSManagedObjectReferentialIntegrityError, 133000)
+ self.assertEqual(NSManagedObjectExternalRelationshipError, 133010)
+ self.assertEqual(NSManagedObjectMergeError, 133020)
+ self.assertEqual(NSPersistentStoreInvalidTypeError, 134000)
+ self.assertEqual(NSPersistentStoreTypeMismatchError, 134010)
+ self.assertEqual(NSPersistentStoreIncompatibleSchemaError, 134020)
+ self.assertEqual(NSPersistentStoreSaveError, 134030)
+ self.assertEqual(NSPersistentStoreIncompleteSaveError, 134040)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_managedkvo.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_managedkvo.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_managedkvo.py Thu Apr 1 13:13:29 2010
@@ -7,121 +7,130 @@
import CoreData
class CoreDataTestObject (CoreData.NSManagedObject):
+ def __getattr__(self, k):
+ print "get", k
+ raise AttributeError(k)
+
+ def __setattr__(self, k, v):
+ super(CoreDataTestObject, self).__setattr__(k, v)
+
pass
class Test (TestCase):
def setUp(self):
- self.entity = CoreData.NSEntityDescription.new()
- self.entity.setName_('TestEntity')
+ self.entity = CoreData.NSEntityDescription.new()
+ self.entity.setName_('TestEntity')
- self.attribute = CoreData.NSAttributeDescription.new()
- self.attribute.setName_('testAttribute')
- self.attribute.setAttributeType_(CoreData.NSStringAttributeType)
+ self.attribute = CoreData.NSAttributeDescription.new()
+ self.attribute.setName_('testAttribute')
+ self.attribute.setAttributeType_(CoreData.NSStringAttributeType)
- self.entity.setProperties_([self.attribute])
+ self.entity.setProperties_([self.attribute])
- self.managedObjectModel = CoreData.NSManagedObjectModel.new()
- self.managedObjectModel.setEntities_([self.entity])
+ self.managedObjectModel = CoreData.NSManagedObjectModel.new()
+ self.managedObjectModel.setEntities_([self.entity])
- self.persistentStoreCoordinator = CoreData.NSPersistentStoreCoordinator.alloc().initWithManagedObjectModel_(self.managedObjectModel)
- self.persistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_(CoreData.NSInMemoryStoreType, None, None, None, None)
+ self.persistentStoreCoordinator = CoreData.NSPersistentStoreCoordinator.alloc().initWithManagedObjectModel_(self.managedObjectModel)
+ self.persistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_(CoreData.NSInMemoryStoreType, None, None, None, None)
- self.managedObjectContext = CoreData.NSManagedObjectContext.new()
- self.managedObjectContext.setPersistentStoreCoordinator_(self.persistentStoreCoordinator)
+ self.managedObjectContext = CoreData.NSManagedObjectContext.new()
+ self.managedObjectContext.setPersistentStoreCoordinator_(self.persistentStoreCoordinator)
def testModeledAttribute(self):
- managedObject = CoreData.NSManagedObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
+ managedObject = CoreData.NSManagedObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
- testValue = u'FooBarBaz'
+ testValue = u'FooBarBaz'
- managedObject.setValue_forKey_(testValue, u'testAttribute')
+ managedObject.setValue_forKey_(testValue, u'testAttribute')
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
- testValue = u'BobFred'
- managedObject.setValue_forKey_(testValue, u'testAttribute')
+ testValue = u'BobFred'
+ managedObject.setValue_forKey_(testValue, u'testAttribute')
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
- testValue = u'Zebras have long legs.'
- managedObject.testAttribute = testValue
+ testValue = u'Zebras have long legs.'
+ managedObject.testAttribute = testValue
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
def testPythonicAttribute(self):
- managedObject = CoreData.NSManagedObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
+ managedObject = CoreData.NSManagedObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
+ print managedObject
- testValue = u'Ducks have webbed feet'
+ testValue = u'Ducks have webbed feet'
self.assertRaises(AttributeError, setattr, managedObject, 'attributeWithoutModel', testValue)
return
# XXX: this test is invalid, you cannot add arbitrary attributes
# to an object that is fully implemented in ObjC.
- managedObject.attributeWithoutModel = testValue
+ managedObject.attributeWithoutModel = testValue
+
+ self.assertEquals(testValue, managedObject.attributeWithoutModel)
+
+ self.assertRaises(Foundation.NSUnknownKeyException, managedObject.valueForKey_(u'attributeWithoutModel'))
- self.assertEquals(testValue, managedObject.attributeWithoutModel)
-
- self.assertRaises(Foundation.NSUnknownKeyException, managedObject.valueForKey_(u'attributeWithoutModel'))
-
class TestSubclass (TestCase):
def setUp(self):
- self.entity = CoreData.NSEntityDescription.new()
- self.entity.setName_('TestObject')
+ self.entity = CoreData.NSEntityDescription.new()
+ self.entity.setName_('TestObject')
self.entity.setManagedObjectClassName_('CoreDataTestObject')
- self.attribute = CoreData.NSAttributeDescription.new()
- self.attribute.setName_('testAttribute')
- self.attribute.setAttributeType_(CoreData.NSStringAttributeType)
+ self.attribute = CoreData.NSAttributeDescription.new()
+ self.attribute.setName_('testAttribute')
+ self.attribute.setAttributeType_(CoreData.NSStringAttributeType)
- self.entity.setProperties_([self.attribute])
+ self.entity.setProperties_([self.attribute])
- self.managedObjectModel = CoreData.NSManagedObjectModel.new()
- self.managedObjectModel.setEntities_([self.entity])
+ self.managedObjectModel = CoreData.NSManagedObjectModel.new()
+ self.managedObjectModel.setEntities_([self.entity])
- self.persistentStoreCoordinator = CoreData.NSPersistentStoreCoordinator.alloc().initWithManagedObjectModel_(self.managedObjectModel)
- self.persistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_(CoreData.NSInMemoryStoreType, None, None, None, None)
+ self.persistentStoreCoordinator = CoreData.NSPersistentStoreCoordinator.alloc().initWithManagedObjectModel_(self.managedObjectModel)
+ self.persistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_(CoreData.NSInMemoryStoreType, None, None, None, None)
- self.managedObjectContext = CoreData.NSManagedObjectContext.new()
- self.managedObjectContext.setPersistentStoreCoordinator_(self.persistentStoreCoordinator)
+ self.managedObjectContext = CoreData.NSManagedObjectContext.new()
+ self.managedObjectContext.setPersistentStoreCoordinator_(self.persistentStoreCoordinator)
def testModeledAttribute(self):
- managedObject = CoreDataTestObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
+ managedObject = CoreDataTestObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
self.assert_(isinstance(managedObject, CoreDataTestObject))
- testValue = u'FooBarBaz'
+ testValue = u'FooBarBaz'
- managedObject.setValue_forKey_(testValue, u'testAttribute')
+ managedObject.setValue_forKey_(testValue, u'testAttribute')
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
- testValue = u'BobFred'
- managedObject.setValue_forKey_(testValue, u'testAttribute')
+ testValue = u'BobFred'
+ managedObject.setValue_forKey_(testValue, u'testAttribute')
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
self.assert_('testAttribute' not in managedObject.__dict__)
- testValue = u'Zebras have long legs.'
- managedObject._.testAttribute = testValue
+ testValue = u'Zebras have long legs.'
+ managedObject._.testAttribute = testValue
- self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
- self.assertEquals(testValue, managedObject._.testAttribute)
+ self.assertEquals(testValue, managedObject.valueForKey_(u'testAttribute'))
+ self.assertEquals(testValue, managedObject._.testAttribute)
def testPythonicAttribute(self):
- managedObject = CoreDataTestObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
+ self.fail("research recursion problem")
+ managedObject = CoreDataTestObject.alloc().initWithEntity_insertIntoManagedObjectContext_(self.entity, self.managedObjectContext)
self.assert_(isinstance(managedObject, CoreDataTestObject))
- testValue = u'Ducks have webbed feet'
- managedObject.attributeWithoutModel = testValue
+ testValue = u'Ducks have webbed feet'
+ managedObject.attributeWithoutModel = testValue
- self.assertEquals(testValue, managedObject.attributeWithoutModel)
+ self.assertEquals(testValue, managedObject.attributeWithoutModel)
self.assert_('attributeWithoutModel' in managedObject.__dict__)
-
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsatomicstore.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsatomicstore.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsatomicstore.py Thu Apr 1 13:13:29 2010
@@ -6,8 +6,8 @@
@min_os_level('10.5')
def testMethods(self):
- self.failUnlessArgIsOut(NSAtomicStore.load_, 0)
- self.failUnlessArgIsOut(NSAtomicStore.save_, 0)
+ self.assertArgIsOut(NSAtomicStore.load_, 0)
+ self.assertArgIsOut(NSAtomicStore.save_, 0)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsattributedescription.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsattributedescription.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsattributedescription.py Thu Apr 1 13:13:29 2010
@@ -4,25 +4,25 @@
class TestNSAttributeDescription (TestCase):
def testConstants(self):
- self.failUnlessEqual(NSUndefinedAttributeType, 0)
- self.failUnlessEqual(NSInteger16AttributeType, 100)
- self.failUnlessEqual(NSInteger32AttributeType, 200)
- self.failUnlessEqual(NSInteger64AttributeType, 300)
- self.failUnlessEqual(NSDecimalAttributeType, 400)
- self.failUnlessEqual(NSDoubleAttributeType, 500)
- self.failUnlessEqual(NSFloatAttributeType, 600)
- self.failUnlessEqual(NSStringAttributeType, 700)
- self.failUnlessEqual(NSBooleanAttributeType, 800)
- self.failUnlessEqual(NSDateAttributeType, 900)
- self.failUnlessEqual(NSBinaryDataAttributeType, 1000)
+ self.assertEqual(NSUndefinedAttributeType, 0)
+ self.assertEqual(NSInteger16AttributeType, 100)
+ self.assertEqual(NSInteger32AttributeType, 200)
+ self.assertEqual(NSInteger64AttributeType, 300)
+ self.assertEqual(NSDecimalAttributeType, 400)
+ self.assertEqual(NSDoubleAttributeType, 500)
+ self.assertEqual(NSFloatAttributeType, 600)
+ self.assertEqual(NSStringAttributeType, 700)
+ self.assertEqual(NSBooleanAttributeType, 800)
+ self.assertEqual(NSDateAttributeType, 900)
+ self.assertEqual(NSBinaryDataAttributeType, 1000)
@min_os_level("10.5")
def testConstants10_5(self):
- self.failUnlessEqual(NSTransformableAttributeType, 1800)
+ self.assertEqual(NSTransformableAttributeType, 1800)
@min_os_level("10.6")
def testConstants10_6(self):
- self.failUnlessEqual(NSObjectIDAttributeType, 2000)
+ self.assertEqual(NSObjectIDAttributeType, 2000)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitydescription.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitydescription.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitydescription.py Thu Apr 1 13:13:29 2010
@@ -4,12 +4,12 @@
class TestNSEntityDescription (TestCase):
def testMethods(self):
- self.failUnlessResultIsBOOL(NSEntityDescription.isAbstract)
- self.failUnlessArgIsBOOL(NSEntityDescription.setAbstract_, 0)
+ self.assertResultIsBOOL(NSEntityDescription.isAbstract)
+ self.assertArgIsBOOL(NSEntityDescription.setAbstract_, 0)
@min_os_level("10.5")
def testMethods10_5(self):
- self.failUnlessResultIsBOOL(NSEntityDescription.isKindOfEntity_)
+ self.assertResultIsBOOL(NSEntityDescription.isKindOfEntity_)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymapping.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymapping.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymapping.py Thu Apr 1 13:13:29 2010
@@ -4,12 +4,12 @@
class TestNSEntityMapping (TestCase):
def testConstants(self):
- self.failUnlessEqual(NSUndefinedEntityMappingType, 0x00)
- self.failUnlessEqual(NSCustomEntityMappingType, 0x01)
- self.failUnlessEqual(NSAddEntityMappingType, 0x02)
- self.failUnlessEqual(NSRemoveEntityMappingType, 0x03)
- self.failUnlessEqual(NSCopyEntityMappingType, 0x04)
- self.failUnlessEqual(NSTransformEntityMappingType, 0x05)
+ self.assertEqual(NSUndefinedEntityMappingType, 0x00)
+ self.assertEqual(NSCustomEntityMappingType, 0x01)
+ self.assertEqual(NSAddEntityMappingType, 0x02)
+ self.assertEqual(NSRemoveEntityMappingType, 0x03)
+ self.assertEqual(NSCopyEntityMappingType, 0x04)
+ self.assertEqual(NSTransformEntityMappingType, 0x05)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymigrationpolicy.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymigrationpolicy.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsentitymigrationpolicy.py Thu Apr 1 13:13:29 2010
@@ -5,34 +5,34 @@
class TestNSEntityMigrationPolicy (TestCase):
@min_os_level("10.5")
def testConstants(self):
- self.failUnlessIsInstance(NSMigrationManagerKey, unicode)
- self.failUnlessIsInstance(NSMigrationSourceObjectKey, unicode)
- self.failUnlessIsInstance(NSMigrationDestinationObjectKey, unicode)
- self.failUnlessIsInstance(NSMigrationEntityMappingKey, unicode)
- self.failUnlessIsInstance(NSMigrationPropertyMappingKey, unicode)
+ self.assertIsInstance(NSMigrationManagerKey, unicode)
+ self.assertIsInstance(NSMigrationSourceObjectKey, unicode)
+ self.assertIsInstance(NSMigrationDestinationObjectKey, unicode)
+ self.assertIsInstance(NSMigrationEntityMappingKey, unicode)
+ self.assertIsInstance(NSMigrationPropertyMappingKey, unicode)
@min_os_level("10.5")
def testMethods(self):
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.beginEntityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.beginEntityMapping_manager_error_, 2)
-
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.createDestinationInstancesForSourceInstance_entityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.createDestinationInstancesForSourceInstance_entityMapping_manager_error_, 3)
-
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.endInstanceCreationForEntityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.endInstanceCreationForEntityMapping_manager_error_, 2)
-
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.createRelationshipsForDestinationInstance_entityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.createRelationshipsForDestinationInstance_entityMapping_manager_error_, 3)
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.beginEntityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.beginEntityMapping_manager_error_, 2)
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.endRelationshipCreationForEntityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.endRelationshipCreationForEntityMapping_manager_error_, 2)
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.createDestinationInstancesForSourceInstance_entityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.createDestinationInstancesForSourceInstance_entityMapping_manager_error_, 3)
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.performCustomValidationForEntityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.performCustomValidationForEntityMapping_manager_error_, 2)
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.endInstanceCreationForEntityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.endInstanceCreationForEntityMapping_manager_error_, 2)
- self.failUnlessResultIsBOOL(NSEntityMigrationPolicy.endEntityMapping_manager_error_)
- self.failUnlessArgIsOut(NSEntityMigrationPolicy.endEntityMapping_manager_error_, 2)
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.createRelationshipsForDestinationInstance_entityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.createRelationshipsForDestinationInstance_entityMapping_manager_error_, 3)
+
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.endRelationshipCreationForEntityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.endRelationshipCreationForEntityMapping_manager_error_, 2)
+
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.performCustomValidationForEntityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.performCustomValidationForEntityMapping_manager_error_, 2)
+
+ self.assertResultIsBOOL(NSEntityMigrationPolicy.endEntityMapping_manager_error_)
+ self.assertArgIsOut(NSEntityMigrationPolicy.endEntityMapping_manager_error_, 2)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequest.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequest.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequest.py Thu Apr 1 13:13:29 2010
@@ -5,30 +5,30 @@
class TestNSFetchRequest (TestCase):
@min_os_level("10.5")
def testConstants(self):
- self.failUnlessEqual(NSManagedObjectResultType, 0x00)
- self.failUnlessEqual(NSManagedObjectIDResultType, 0x01)
+ self.assertEqual(NSManagedObjectResultType, 0x00)
+ self.assertEqual(NSManagedObjectIDResultType, 0x01)
@min_os_level("10.5")
def testMethods(self):
- self.failUnlessResultIsBOOL(NSFetchRequest.includesSubentities)
- self.failUnlessArgIsBOOL(NSFetchRequest.setIncludesSubentities_, 0)
+ self.assertResultIsBOOL(NSFetchRequest.includesSubentities)
+ self.assertArgIsBOOL(NSFetchRequest.setIncludesSubentities_, 0)
- self.failUnlessResultIsBOOL(NSFetchRequest.includesPropertyValues)
- self.failUnlessArgIsBOOL(NSFetchRequest.setIncludesPropertyValues_, 0)
+ self.assertResultIsBOOL(NSFetchRequest.includesPropertyValues)
+ self.assertArgIsBOOL(NSFetchRequest.setIncludesPropertyValues_, 0)
- self.failUnlessResultIsBOOL(NSFetchRequest.returnsObjectsAsFaults)
- self.failUnlessArgIsBOOL(NSFetchRequest.setReturnsObjectsAsFaults_, 0)
+ self.assertResultIsBOOL(NSFetchRequest.returnsObjectsAsFaults)
+ self.assertArgIsBOOL(NSFetchRequest.setReturnsObjectsAsFaults_, 0)
@min_os_level("10.6")
def testConstants10_6(self):
- self.failUnlessEqual(NSDictionaryResultType, 2)
+ self.assertEqual(NSDictionaryResultType, 2)
@min_os_level("10.6")
def testMethods10_6(self):
- self.failUnlessResultIsBOOL(NSFetchRequest.includesPendingChanges)
- self.failUnlessArgIsBOOL(NSFetchRequest.setIncludesPendingChanges_, 0)
- self.failUnlessResultIsBOOL(NSFetchRequest.returnsDistinctResults)
- self.failUnlessArgIsBOOL(NSFetchRequest.setReturnsDistinctResults_, 0)
+ self.assertResultIsBOOL(NSFetchRequest.includesPendingChanges)
+ self.assertArgIsBOOL(NSFetchRequest.setIncludesPendingChanges_, 0)
+ self.assertResultIsBOOL(NSFetchRequest.returnsDistinctResults)
+ self.assertArgIsBOOL(NSFetchRequest.setReturnsDistinctResults_, 0)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequestexpression.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequestexpression.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsfetchrequestexpression.py Thu Apr 1 13:13:29 2010
@@ -6,12 +6,12 @@
@min_os_level("10.5")
def testConstants(self):
- self.failUnlessEqual(NSFetchRequestExpressionType, 50)
+ self.assertEqual(NSFetchRequestExpressionType, 50)
@min_os_level("10.5")
def testMethods(self):
- self.failUnlessArgIsBOOL(NSFetchRequestExpression.expressionForFetch_context_countOnly_, 2)
- self.failUnlessResultIsBOOL(NSFetchRequestExpression.isCountOnlyRequest)
+ self.assertArgIsBOOL(NSFetchRequestExpression.expressionForFetch_context_countOnly_, 2)
+ self.assertResultIsBOOL(NSFetchRequestExpression.isCountOnlyRequest)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobject.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobject.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobject.py Thu Apr 1 13:13:29 2010
@@ -5,35 +5,35 @@
class TestNSManagedObject (TestCase):
def testMethods(self):
o = NSManagedObject.alloc().init()
- self.failUnlessResultIsBOOL(o.isInserted)
- self.failUnlessResultIsBOOL(o.isUpdated)
- self.failUnlessResultIsBOOL(o.isDeleted)
- self.failUnlessResultIsBOOL(o.isFault)
-
- self.failUnlessResultIsBOOL(NSManagedObject.validateValue_forKey_error_)
- self.failUnlessArgIsOut(NSManagedObject.validateValue_forKey_error_, 2)
+ self.assertResultIsBOOL(o.isInserted)
+ self.assertResultIsBOOL(o.isUpdated)
+ self.assertResultIsBOOL(o.isDeleted)
+ self.assertResultIsBOOL(o.isFault)
+
+ self.assertResultIsBOOL(NSManagedObject.validateValue_forKey_error_)
+ self.assertArgIsOut(NSManagedObject.validateValue_forKey_error_, 2)
- self.failUnlessResultIsBOOL(NSManagedObject.validateForDelete_)
- self.failUnlessArgIsOut(NSManagedObject.validateForDelete_, 0)
+ self.assertResultIsBOOL(NSManagedObject.validateForDelete_)
+ self.assertArgIsOut(NSManagedObject.validateForDelete_, 0)
- self.failUnlessResultIsBOOL(NSManagedObject.validateForInsert_)
- self.failUnlessArgIsOut(NSManagedObject.validateForInsert_, 0)
+ self.assertResultIsBOOL(NSManagedObject.validateForInsert_)
+ self.assertArgIsOut(NSManagedObject.validateForInsert_, 0)
- self.failUnlessResultIsBOOL(NSManagedObject.validateForUpdate_)
- self.failUnlessArgIsOut(NSManagedObject.validateForUpdate_, 0)
+ self.assertResultIsBOOL(NSManagedObject.validateForUpdate_)
+ self.assertArgIsOut(NSManagedObject.validateForUpdate_, 0)
@min_os_level("10.5")
def testMethods10_5(self):
- self.failUnlessResultIsBOOL(NSManagedObject.hasFaultForRelationshipNamed_)
+ self.assertResultIsBOOL(NSManagedObject.hasFaultForRelationshipNamed_)
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessEqual(NSSnapshotEventUndoInsertion, 1 << 1)
- self.failUnlessEqual(NSSnapshotEventUndoDeletion, 1 << 2)
- self.failUnlessEqual(NSSnapshotEventUndoUpdate, 1 << 3)
- self.failUnlessEqual(NSSnapshotEventRollback, 1 << 4)
- self.failUnlessEqual(NSSnapshotEventRefresh, 1 << 5)
- self.failUnlessEqual(NSSnapshotEventMergePolicy, 1 << 6)
+ self.assertEqual(NSSnapshotEventUndoInsertion, 1 << 1)
+ self.assertEqual(NSSnapshotEventUndoDeletion, 1 << 2)
+ self.assertEqual(NSSnapshotEventUndoUpdate, 1 << 3)
+ self.assertEqual(NSSnapshotEventRollback, 1 << 4)
+ self.assertEqual(NSSnapshotEventRefresh, 1 << 5)
+ self.assertEqual(NSSnapshotEventMergePolicy, 1 << 6)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectcontext.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectcontext.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectcontext.py Thu Apr 1 13:13:29 2010
@@ -5,47 +5,47 @@
class TestNSManagedObjectContext (TestCase):
@min_os_level("10.5")
def testConstants10_5(self):
- self.failUnlessIsInstance(NSRefreshedObjectsKey, unicode)
- self.failUnlessIsInstance(NSInvalidatedObjectsKey, unicode)
- self.failUnlessIsInstance(NSInvalidatedAllObjectsKey, unicode)
- self.failUnlessIsInstance(NSManagedObjectContextWillSaveNotification, unicode)
+ self.assertIsInstance(NSRefreshedObjectsKey, unicode)
+ self.assertIsInstance(NSInvalidatedObjectsKey, unicode)
+ self.assertIsInstance(NSInvalidatedAllObjectsKey, unicode)
+ self.assertIsInstance(NSManagedObjectContextWillSaveNotification, unicode)
def testConstants(self):
- self.failUnlessIsInstance(NSManagedObjectContextDidSaveNotification, unicode)
- self.failUnlessIsInstance(NSManagedObjectContextObjectsDidChangeNotification, unicode)
- self.failUnlessIsInstance(NSInsertedObjectsKey, unicode)
- self.failUnlessIsInstance(NSUpdatedObjectsKey, unicode)
- self.failUnlessIsInstance(NSDeletedObjectsKey, unicode)
+ self.assertIsInstance(NSManagedObjectContextDidSaveNotification, unicode)
+ self.assertIsInstance(NSManagedObjectContextObjectsDidChangeNotification, unicode)
+ self.assertIsInstance(NSInsertedObjectsKey, unicode)
+ self.assertIsInstance(NSUpdatedObjectsKey, unicode)
+ self.assertIsInstance(NSDeletedObjectsKey, unicode)
- self.failUnlessIsInstance(NSErrorMergePolicy, NSObject)
- self.failUnlessIsInstance(NSMergeByPropertyStoreTrumpMergePolicy, NSObject)
- self.failUnlessIsInstance(NSMergeByPropertyObjectTrumpMergePolicy, NSObject)
- self.failUnlessIsInstance(NSOverwriteMergePolicy, NSObject)
- self.failUnlessIsInstance(NSRollbackMergePolicy, NSObject)
+ self.assertIsInstance(NSErrorMergePolicy, NSObject)
+ self.assertIsInstance(NSMergeByPropertyStoreTrumpMergePolicy, NSObject)
+ self.assertIsInstance(NSMergeByPropertyObjectTrumpMergePolicy, NSObject)
+ self.assertIsInstance(NSOverwriteMergePolicy, NSObject)
+ self.assertIsInstance(NSRollbackMergePolicy, NSObject)
def testMethods(self):
- self.failUnlessResultIsBOOL(NSManagedObjectContext.hasChanges)
- self.failUnlessArgIsOut(NSManagedObjectContext.executeFetchRequest_error_, 1)
- self.failUnlessArgIsBOOL(NSManagedObjectContext.refreshObject_mergeChanges_, 1)
- self.failUnlessResultIsBOOL(NSManagedObjectContext.save_)
- self.failUnlessArgIsOut(NSManagedObjectContext.save_, 0)
- self.failUnlessResultIsBOOL(NSManagedObjectContext.tryLock)
- self.failUnlessResultIsBOOL(NSManagedObjectContext.propagatesDeletesAtEndOfEvent)
- self.failUnlessArgIsBOOL(NSManagedObjectContext.setPropagatesDeletesAtEndOfEvent_, 0)
- self.failUnlessResultIsBOOL(NSManagedObjectContext.retainsRegisteredObjects)
- self.failUnlessArgIsBOOL(NSManagedObjectContext.setRetainsRegisteredObjects_, 0)
+ self.assertResultIsBOOL(NSManagedObjectContext.hasChanges)
+ self.assertArgIsOut(NSManagedObjectContext.executeFetchRequest_error_, 1)
+ self.assertArgIsBOOL(NSManagedObjectContext.refreshObject_mergeChanges_, 1)
+ self.assertResultIsBOOL(NSManagedObjectContext.save_)
+ self.assertArgIsOut(NSManagedObjectContext.save_, 0)
+ self.assertResultIsBOOL(NSManagedObjectContext.tryLock)
+ self.assertResultIsBOOL(NSManagedObjectContext.propagatesDeletesAtEndOfEvent)
+ self.assertArgIsBOOL(NSManagedObjectContext.setPropagatesDeletesAtEndOfEvent_, 0)
+ self.assertResultIsBOOL(NSManagedObjectContext.retainsRegisteredObjects)
+ self.assertArgIsBOOL(NSManagedObjectContext.setRetainsRegisteredObjects_, 0)
@min_os_level('10.5')
def testMethods10_5(self):
- self.failUnlessArgIsOut(NSManagedObjectContext.countForFetchRequest_error_, 1)
- self.failUnlessResultIsBOOL(NSManagedObjectContext.obtainPermanentIDsForObjects_error_)
- self.failUnlessArgIsOut(NSManagedObjectContext.obtainPermanentIDsForObjects_error_, 1)
+ self.assertArgIsOut(NSManagedObjectContext.countForFetchRequest_error_, 1)
+ self.assertResultIsBOOL(NSManagedObjectContext.obtainPermanentIDsForObjects_error_)
+ self.assertArgIsOut(NSManagedObjectContext.obtainPermanentIDsForObjects_error_, 1)
@min_os_level('10.6')
def testMethods10_6(self):
- self.failUnlessArgIsOut(NSManagedObjectContext.existingObjectWithID_error_, 1)
+ self.assertArgIsOut(NSManagedObjectContext.existingObjectWithID_error_, 1)
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectid.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectid.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectid.py Thu Apr 1 13:13:29 2010
@@ -4,7 +4,7 @@
class TestNSManagedObjectID (TestCase):
def testMethods(self):
- self.failUnlessResultIsBOOL(NSManagedObjectID.isTemporaryID)
+ self.assertResultIsBOOL(NSManagedObjectID.isTemporaryID)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectmodel.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectmodel.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmanagedobjectmodel.py Thu Apr 1 13:13:29 2010
@@ -5,7 +5,7 @@
class TestNSManagedObjectModel (TestCase):
@min_os_level("10.5")
def testMethods(self):
- self.failUnlessResultIsBOOL(NSManagedObjectModel.isConfiguration_compatibleWithStoreMetadata_)
+ self.assertResultIsBOOL(NSManagedObjectModel.isConfiguration_compatibleWithStoreMetadata_)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmappingmodel.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmappingmodel.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmappingmodel.py Thu Apr 1 13:13:29 2010
@@ -4,7 +4,7 @@
class TestNSMappingModel (TestCase):
@min_os_level('10.6')
def testMethods10_6(self):
- self.failUnlessArgIsOut(NSMappingModel.inferredMappingModelForSourceModel_destinationModel_error_, 2)
+ self.assertArgIsOut(NSMappingModel.inferredMappingModelForSourceModel_destinationModel_error_, 2)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmigrationmanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmigrationmanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsmigrationmanager.py Thu Apr 1 13:13:29 2010
@@ -6,13 +6,13 @@
@min_os_level("10.5")
def testMethods(self):
- self.failUnlessResultIsBOOL(NSMigrationManager.migrateStoreFromURL_type_options_withMappingModel_toDestinationURL_destinationType_destinationOptions_error_)
- self.failUnlessArgIsOut(NSMigrationManager.migrateStoreFromURL_type_options_withMappingModel_toDestinationURL_destinationType_destinationOptions_error_, 7)
+ self.assertResultIsBOOL(NSMigrationManager.migrateStoreFromURL_type_options_withMappingModel_toDestinationURL_destinationType_destinationOptions_error_)
+ self.assertArgIsOut(NSMigrationManager.migrateStoreFromURL_type_options_withMappingModel_toDestinationURL_destinationType_destinationOptions_error_, 7)
@min_os_level('10.6')
def testMethods10_6(self):
- #self.failUnlessArgIsOut(NSMigrationManager.loadMetadata_, 0)
- #self.failUnlessResultIsBOOL(NSMigrationManager.loadMetadata_)
+ #self.assertArgIsOut(NSMigrationManager.loadMetadata_, 0)
+ #self.assertResultIsBOOL(NSMigrationManager.loadMetadata_)
pass
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstore.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstore.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstore.py Thu Apr 1 13:13:29 2010
@@ -5,16 +5,16 @@
class TestNSPersistentStore (TestCase):
@min_os_level('10.5')
def testMethods(self):
- self.failUnlessArgIsOut(NSPersistentStore.metadataForPersistentStoreWithURL_error_, 1)
- self.failUnlessResultIsBOOL(NSPersistentStore.setMetadata_forPersistentStoreWithURL_error_)
- self.failUnlessArgIsOut(NSPersistentStore.setMetadata_forPersistentStoreWithURL_error_, 2)
- self.failUnlessResultIsBOOL(NSPersistentStore.isReadOnly)
- self.failUnlessArgIsBOOL(NSPersistentStore.setReadOnly_, 0)
+ self.assertArgIsOut(NSPersistentStore.metadataForPersistentStoreWithURL_error_, 1)
+ self.assertResultIsBOOL(NSPersistentStore.setMetadata_forPersistentStoreWithURL_error_)
+ self.assertArgIsOut(NSPersistentStore.setMetadata_forPersistentStoreWithURL_error_, 2)
+ self.assertResultIsBOOL(NSPersistentStore.isReadOnly)
+ self.assertArgIsBOOL(NSPersistentStore.setReadOnly_, 0)
@min_os_level('10.6')
def testMethods10_6(self):
- self.failUnlessResultIsBOOL(NSPersistentStore.loadMetadata_)
- self.failUnlessArgIsOut(NSPersistentStore.loadMetadata_, 0)
+ self.assertResultIsBOOL(NSPersistentStore.loadMetadata_)
+ self.assertArgIsOut(NSPersistentStore.loadMetadata_, 0)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstorecoordinator.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstorecoordinator.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspersistentstorecoordinator.py Thu Apr 1 13:13:29 2010
@@ -4,66 +4,66 @@
class TestNSPersistentStoreCoordinator (TestCase):
def testConstants(self):
- self.failUnlessIsInstance(NSSQLiteStoreType, unicode)
- self.failUnlessIsInstance(NSXMLStoreType, unicode)
- self.failUnlessIsInstance(NSBinaryStoreType, unicode)
- self.failUnlessIsInstance(NSInMemoryStoreType, unicode)
- self.failUnlessIsInstance(NSStoreTypeKey, unicode)
- self.failUnlessIsInstance(NSStoreUUIDKey, unicode)
- self.failUnlessIsInstance(NSPersistentStoreCoordinatorStoresDidChangeNotification, unicode)
- self.failUnlessIsInstance(NSAddedPersistentStoresKey, unicode)
- self.failUnlessIsInstance(NSRemovedPersistentStoresKey, unicode)
- self.failUnlessIsInstance(NSUUIDChangedPersistentStoresKey, unicode)
- self.failUnlessIsInstance(NSReadOnlyPersistentStoreOption, unicode)
- self.failUnlessIsInstance(NSValidateXMLStoreOption, unicode)
+ self.assertIsInstance(NSSQLiteStoreType, unicode)
+ self.assertIsInstance(NSXMLStoreType, unicode)
+ self.assertIsInstance(NSBinaryStoreType, unicode)
+ self.assertIsInstance(NSInMemoryStoreType, unicode)
+ self.assertIsInstance(NSStoreTypeKey, unicode)
+ self.assertIsInstance(NSStoreUUIDKey, unicode)
+ self.assertIsInstance(NSPersistentStoreCoordinatorStoresDidChangeNotification, unicode)
+ self.assertIsInstance(NSAddedPersistentStoresKey, unicode)
+ self.assertIsInstance(NSRemovedPersistentStoresKey, unicode)
+ self.assertIsInstance(NSUUIDChangedPersistentStoresKey, unicode)
+ self.assertIsInstance(NSReadOnlyPersistentStoreOption, unicode)
+ self.assertIsInstance(NSValidateXMLStoreOption, unicode)
@min_os_level("10.5")
def testConstants10_5(self):
- self.failUnlessIsInstance(NSPersistentStoreTimeoutOption, unicode)
- self.failUnlessIsInstance(NSSQLitePragmasOption, unicode)
- self.failUnlessIsInstance(NSIgnorePersistentStoreVersioningOption, unicode)
- self.failUnlessIsInstance(NSMigratePersistentStoresAutomaticallyOption, unicode)
- self.failUnlessIsInstance(NSStoreModelVersionHashesKey, unicode)
- self.failUnlessIsInstance(NSStoreModelVersionIdentifiersKey, unicode)
- self.failUnlessIsInstance(NSPersistentStoreOSCompatibility, unicode)
+ self.assertIsInstance(NSPersistentStoreTimeoutOption, unicode)
+ self.assertIsInstance(NSSQLitePragmasOption, unicode)
+ self.assertIsInstance(NSIgnorePersistentStoreVersioningOption, unicode)
+ self.assertIsInstance(NSMigratePersistentStoresAutomaticallyOption, unicode)
+ self.assertIsInstance(NSStoreModelVersionHashesKey, unicode)
+ self.assertIsInstance(NSStoreModelVersionIdentifiersKey, unicode)
+ self.assertIsInstance(NSPersistentStoreOSCompatibility, unicode)
- self.failUnlessIsInstance(NSPersistentStoreCoordinatorWillRemoveStoreNotification, unicode)
- self.failUnlessIsInstance(NSSQLiteAnalyzeOption, unicode)
+ self.assertIsInstance(NSPersistentStoreCoordinatorWillRemoveStoreNotification, unicode)
+ self.assertIsInstance(NSSQLiteAnalyzeOption, unicode)
@min_os_level('10.6')
def testConstants10_6(self):
- self.failUnlessIsInstance(NSSQLiteManualVacuumOption, unicode)
- self.failUnlessIsInstance(NSInferMappingModelAutomaticallyOption, unicode)
- self.failUnlessIsInstance(NSXMLExternalRecordType, unicode)
- self.failUnlessIsInstance(NSBinaryExternalRecordType, unicode)
- self.failUnlessIsInstance(NSExternalRecordsFileFormatOption, unicode)
- self.failUnlessIsInstance(NSExternalRecordsDirectoryOption, unicode)
- self.failUnlessIsInstance(NSExternalRecordExtensionOption, unicode)
- self.failUnlessIsInstance(NSEntityNameInPathKey, unicode)
- self.failUnlessIsInstance(NSStoreUUIDInPathKey, unicode)
- self.failUnlessIsInstance(NSStorePathKey, unicode)
- self.failUnlessIsInstance(NSModelPathKey, unicode)
- self.failUnlessIsInstance(NSObjectURIKey, unicode)
+ self.assertIsInstance(NSSQLiteManualVacuumOption, unicode)
+ self.assertIsInstance(NSInferMappingModelAutomaticallyOption, unicode)
+ self.assertIsInstance(NSXMLExternalRecordType, unicode)
+ self.assertIsInstance(NSBinaryExternalRecordType, unicode)
+ self.assertIsInstance(NSExternalRecordsFileFormatOption, unicode)
+ self.assertIsInstance(NSExternalRecordsDirectoryOption, unicode)
+ self.assertIsInstance(NSExternalRecordExtensionOption, unicode)
+ self.assertIsInstance(NSEntityNameInPathKey, unicode)
+ self.assertIsInstance(NSStoreUUIDInPathKey, unicode)
+ self.assertIsInstance(NSStorePathKey, unicode)
+ self.assertIsInstance(NSModelPathKey, unicode)
+ self.assertIsInstance(NSObjectURIKey, unicode)
@min_os_level('10.6')
def testMethods10_6(self):
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.importStoreWithIdentifier_fromExternalRecordsDirectory_toURL_options_withType_error_, 5)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.importStoreWithIdentifier_fromExternalRecordsDirectory_toURL_options_withType_error_, 5)
@min_os_level('10.5')
def testMethods10_5(self):
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.metadataForPersistentStoreOfType_URL_error_, 2)
- self.failUnlessResultIsBOOL(NSPersistentStoreCoordinator.setMetadata_forPersistentStoreOfType_URL_error_)
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.setMetadata_forPersistentStoreOfType_URL_error_, 3)
- self.failUnlessResultIsBOOL(NSPersistentStoreCoordinator.setURL_forPersistentStore_)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.metadataForPersistentStoreOfType_URL_error_, 2)
+ self.assertResultIsBOOL(NSPersistentStoreCoordinator.setMetadata_forPersistentStoreOfType_URL_error_)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.setMetadata_forPersistentStoreOfType_URL_error_, 3)
+ self.assertResultIsBOOL(NSPersistentStoreCoordinator.setURL_forPersistentStore_)
def testMethods(self):
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_, 4)
- self.failUnlessResultIsBOOL(NSPersistentStoreCoordinator.removePersistentStore_error_)
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.removePersistentStore_error_, 1)
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.migratePersistentStore_toURL_options_withType_error_, 4)
- self.failUnlessResultIsBOOL(NSPersistentStoreCoordinator.tryLock)
- self.failUnlessArgIsOut(NSPersistentStoreCoordinator.metadataForPersistentStoreWithURL_error_, 1)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.addPersistentStoreWithType_configuration_URL_options_error_, 4)
+ self.assertResultIsBOOL(NSPersistentStoreCoordinator.removePersistentStore_error_)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.removePersistentStore_error_, 1)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.migratePersistentStore_toURL_options_withType_error_, 4)
+ self.assertResultIsBOOL(NSPersistentStoreCoordinator.tryLock)
+ self.assertArgIsOut(NSPersistentStoreCoordinator.metadataForPersistentStoreWithURL_error_, 1)
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspropertydescription.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspropertydescription.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nspropertydescription.py Thu Apr 1 13:13:29 2010
@@ -4,23 +4,23 @@
class TestNSPropertyDescription (TestCase):
def testMethods(self):
- self.failUnlessResultIsBOOL(NSPropertyDescription.isOptional)
- self.failUnlessArgIsBOOL(NSPropertyDescription.setOptional_, 0)
+ self.assertResultIsBOOL(NSPropertyDescription.isOptional)
+ self.assertArgIsBOOL(NSPropertyDescription.setOptional_, 0)
- self.failUnlessResultIsBOOL(NSPropertyDescription.isTransient)
- self.failUnlessArgIsBOOL(NSPropertyDescription.setTransient_, 0)
+ self.assertResultIsBOOL(NSPropertyDescription.isTransient)
+ self.assertArgIsBOOL(NSPropertyDescription.setTransient_, 0)
@min_os_level('10.5')
def testMethods10_5(self):
- self.failUnlessResultIsBOOL(NSPropertyDescription.isIndexed)
- self.failUnlessArgIsBOOL(NSPropertyDescription.setIndexed_, 0)
+ self.assertResultIsBOOL(NSPropertyDescription.isIndexed)
+ self.assertArgIsBOOL(NSPropertyDescription.setIndexed_, 0)
@min_os_level('10.6')
def testMethods10_6(self):
- self.failUnlessResultIsBOOL(NSPropertyDescription.isIndexedBySpotlight)
- self.failUnlessArgIsBOOL(NSPropertyDescription.setIndexedBySpotlight_, 0)
- self.failUnlessResultIsBOOL(NSPropertyDescription.isStoredInExternalRecord)
- self.failUnlessArgIsBOOL(NSPropertyDescription.setStoredInExternalRecord_, 0)
+ self.assertResultIsBOOL(NSPropertyDescription.isIndexedBySpotlight)
+ self.assertArgIsBOOL(NSPropertyDescription.setIndexedBySpotlight_, 0)
+ self.assertResultIsBOOL(NSPropertyDescription.isStoredInExternalRecord)
+ self.assertArgIsBOOL(NSPropertyDescription.setStoredInExternalRecord_, 0)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsrelationshipdescription.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsrelationshipdescription.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/PyObjCTest/test_nsrelationshipdescription.py Thu Apr 1 13:13:29 2010
@@ -4,13 +4,13 @@
class TestNSRelationshipDescription (TestCase):
def testConstants(self):
- self.failUnlessEqual(NSNoActionDeleteRule, 0)
- self.failUnlessEqual(NSNullifyDeleteRule, 1)
- self.failUnlessEqual(NSCascadeDeleteRule, 2)
- self.failUnlessEqual(NSDenyDeleteRule, 3)
+ self.assertEqual(NSNoActionDeleteRule, 0)
+ self.assertEqual(NSNullifyDeleteRule, 1)
+ self.assertEqual(NSCascadeDeleteRule, 2)
+ self.assertEqual(NSDenyDeleteRule, 3)
def testMethods(self):
- self.failUnlessResultIsBOOL(NSRelationshipDescription.isToMany)
+ self.assertResultIsBOOL(NSRelationshipDescription.isToMany)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-CoreData/pyobjc_setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-CoreData/pyobjc_setup.py (original)
+++ trunk/pyobjc/pyobjc-framework-CoreData/pyobjc_setup.py Thu Apr 1 13:13:29 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