The Trunk: KernelTests-eem.321.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: KernelTests-eem.321.mcz

commits-2
Eliot Miranda uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-eem.321.mcz

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

Name: KernelTests-eem.321
Author: eem
Time: 22 March 2017, 9:54:39.100575 am
UUID: 56848275-56b5-4682-ad45-c301cf2337d8
Ancestors: KernelTests-eem.320

Add a test to check that new subclasses of CompiledMethod have compiled-methodness, and that they keep it if moved to be subclasses of ByteArray-like subclasses.

=============== Diff against KernelTests-eem.320 ===============

Item was added:
+ ----- Method: ClassBuilderTest>>testCompiledMethodSubclass (in category 'testing - format') -----
+ testCompiledMethodSubclass
+ "Ensure that the invariants for superclass/subclass format are preserved"
+ [self deny: (Smalltalk includesKey: self subClassName).
+ baseClass := CompiledMethod
+ variableByteSubclass: self subClassName
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: self categoryNameForTemporaryClasses.
+ self deny: baseClass isPointers.
+ self assert: baseClass isVariable.
+ self deny: baseClass isWeak.
+ self assert: baseClass isBytes.
+ self assert: baseClass isCompiledMethodClass.
+ self deny: baseClass isWords.
+ self deny: baseClass isShorts.
+ self deny: baseClass isLongs.
+ "Now move it to be a sibling; test it maintains its CompiledMethod-ness"
+ baseClass := ByteArray
+ variableByteSubclass: self subClassName
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: self categoryNameForTemporaryClasses.
+ self deny: baseClass isPointers.
+ self assert: baseClass isVariable.
+ self deny: baseClass isWeak.
+ self assert: baseClass isBytes.
+ self assert: baseClass isCompiledMethodClass.
+ self deny: baseClass isWords.
+ self deny: baseClass isShorts.
+ self deny: baseClass isLongs]
+ ensure: [self cleanup]!