[squeak-dev] FFI: FFI-Tests-mt.26.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 5 16:07:52 UTC 2021


Marcel Taeumel uploaded a new version of FFI-Tests to project FFI:
http://source.squeak.org/FFI/FFI-Tests-mt.26.mcz

==================== Summary ====================

Name: FFI-Tests-mt.26
Author: mt
Time: 5 May 2021, 6:07:51.408784 pm
UUID: 591e208f-d61f-dc4e-a9d0-80bb2279824a
Ancestors: FFI-Tests-mt.25

More tests :-)

=============== Diff against FFI-Tests-mt.25 ===============

Item was added:
+ ----- Method: ExternalStructureTests>>test01CopyStructure (in category 'tests - external structure') -----
+ test01CopyStructure
+ 
+ 	| original copy |
+ 	original := FFITestPoint2 new.
+ 	original setX: 1 setY: 2.
+ 	
+ 	copy := original copy.
+ 	self assert: original getHandle ~~ copy getHandle.
+ 	
+ 	copy setX: 3 setY: 4.
+ 	self assert: 1 at 2 equals: original asPoint.
+ 	self assert: 3 at 4 equals: copy asPoint.!

Item was added:
+ ----- Method: ExternalStructureTests>>test02CopyStructureFromExternal (in category 'tests - external structure') -----
+ test02CopyStructureFromExternal
+ 
+ 	| original copy |
+ 	original := heapObject := FFITestPoint2 externalNew.
+ 	original setX: 1 setY: 2.
+ 	
+ 	copy := original copy.
+ 	self assert: copy getHandle isInternalMemory.
+ 	
+ 	copy setX: 3 setY: 4.
+ 	self assert: 1 at 2 equals: original asPoint.
+ 	self assert: 3 at 4 equals: copy asPoint.!

Item was added:
+ ----- Method: ExternalTypeTests>>testArrayTypesForAtomics (in category 'tests') -----
+ testArrayTypesForAtomics
+ 
+ 	self
+ 		should: [ExternalType void asArrayType: 5]
+ 		raise: Error.
+ 	
+ 	AtomicTypeNames keysInOrder allButFirst "void" do: [:index |
+ 		| atomicType arrayType |
+ 		atomicType := AtomicTypes at: (AtomicTypeNames at: index).
+ 		arrayType := atomicType asArrayType: 5.
+ 		self assert: arrayType isArrayType.
+ 		self assert: arrayType isAtomic.		
+ 		self deny: arrayType isStructureType.
+ 		self deny: arrayType isPointerType.		
+ 		self assert: 5 equals: arrayType size].!

Item was added:
+ ----- Method: ExternalTypeTests>>testArrayTypesForStructs (in category 'tests') -----
+ testArrayTypesForStructs
+ 
+ 	{
+ 		FFITestPoint2.
+ 		FFITestSdi.
+ 		FFITestUfd.
+ 		FFITestIntAlias.
+ 		FFITestCompoundStruct.
+ 	} do: [:structClass |
+ 		| arrayType |
+ 		arrayType := structClass externalType asArrayType: 5.
+ 		self assert: arrayType isArrayType.
+ 		self deny: arrayType isPointerType.		
+ 		self assert: 5 equals: arrayType size].!

Item was changed:
  ----- Method: FFITestIntAlias class>>originalTypeName (in category 'type alias') -----
  originalTypeName
+ 	"
+ 	self defineFields
+ 	"
+ 	^ 'int32_t'!
- 
- 	^ 'int'!



More information about the Squeak-dev mailing list