-
Notifications
You must be signed in to change notification settings - Fork 65
/
VMPermanentSpaceImageReadingTest.class.st
61 lines (41 loc) · 1.43 KB
/
VMPermanentSpaceImageReadingTest.class.st
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Class {
#name : #VMPermanentSpaceImageReadingTest,
#superclass : #VMAbstractImageFormatTest,
#category : #'VMMakerTests-PermSpace'
}
{ #category : #utilities }
VMPermanentSpaceImageReadingTest >> loadImage [
| memoryClass isa |
environmentBuilder := VMSimulatedEnvironmentBuilder new.
memoryClass := self wordSize = 4
ifTrue: [ Spur32BitCoMemoryManager simulatorClass ]
ifFalse: [ Spur64BitCoMemoryManager simulatorClass ].
isa := self wordSize = 4 ifTrue: [ #'ARMv5' ] ifFalse: [ #aarch64 ].
environmentBuilder
interpreterClass: CogVMSimulatorLSB;
objectMemoryClass: memoryClass;
initializationOptions: {
#BytesPerWord. self wordSize.
#ObjectMemory. memoryClass name.
#ImageReader. imageReaderClass name.
#ImageWriter. imageWriterClass name.
#ISA. isa };
wordSize: self wordSize.
environmentBuilder doBuildSimulator.
interpreter := environmentBuilder interpreter.
memory := environmentBuilder objectMemory.
interpreter openOn: self imageFileName extraMemory: 0.
]
{ #category : #initialization }
VMPermanentSpaceImageReadingTest >> setUp [
super setUp.
memory garbageCollectForSnapshot.
self assert: interpreter successful.
]
{ #category : #tests }
VMPermanentSpaceImageReadingTest >> testLoadingImageHasEmptyPermSpaceWhenImageDoesNotHave [
self saveImage.
self loadImage.
self assert: memory getMemoryMap permSpaceStart equals: 0.
self assert: memory permSpaceFreeStart equals: 0.
]