Skip to content

Commit

Permalink
Parametrizable image writer/reader on tests
Browse files Browse the repository at this point in the history
  • Loading branch information
PalumboN committed Jan 19, 2022
1 parent 881e96f commit b0bcbe8
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 8 deletions.
4 changes: 2 additions & 2 deletions smalltalksrc/VMMaker/CogVMSimulator.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -271,8 +271,8 @@ CogVMSimulator >> basicInitialize [
"This will be overriden when calling initializePluginEntries"
mappedPluginEntries := OrderedCollection new.

imageReader := SpurImageReader newWithMemory: objectMemory andInterpreter: self.
imageWriter := SpurImageWriter newWithMemory: objectMemory andInterpreter: self
imageReader := self class imageReaderClass newWithMemory: objectMemory andInterpreter: self.
imageWriter := self class imageWriterClass newWithMemory: objectMemory andInterpreter: self
]

{ #category : #hooks }
Expand Down
20 changes: 18 additions & 2 deletions smalltalksrc/VMMaker/StackInterpreter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -498,8 +498,8 @@ StackInterpreter class >> ancilliaryClasses [
LibFFI.
CogStackPage.
SpurImageHeaderStruct.
SpurImageReader.
SpurImageWriter}
self imageReaderClass.
self imageWriterClass}
]

{ #category : #constants }
Expand Down Expand Up @@ -636,6 +636,22 @@ If ffi is put as a separate header, slang will sort the header and put it outsid
var: 'imageWriter' type: #implicit.
]

{ #category : #'as yet unclassified' }
StackInterpreter class >> imageReaderClass [

^Smalltalk at: (InitializationOptions
at: #ImageReader
ifAbsent: [ #SpurImageReader ])
]

{ #category : #'as yet unclassified' }
StackInterpreter class >> imageWriterClass [

^Smalltalk at: (InitializationOptions
at: #ImageWriter
ifAbsent: [ #SpurImageWriter ])
]

{ #category : #translation }
StackInterpreter class >> implicitReturnTypeFor: aSelector [
"Answer the return type for methods that don't have an explicit return."
Expand Down
4 changes: 2 additions & 2 deletions smalltalksrc/VMMaker/StackInterpreterSimulator.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@ StackInterpreterSimulator >> basicInitialize [
"This will be overriden when calling initializePluginEntries"
mappedPluginEntries := OrderedCollection new.

imageReader := SpurImageReader newWithMemory: objectMemory andInterpreter: self.
imageWriter := SpurImageWriter newWithMemory: objectMemory andInterpreter: self
imageReader := self class imageReaderClass newWithMemory: objectMemory andInterpreter: self.
imageWriter := self class imageWriterClass newWithMemory: objectMemory andInterpreter: self
]

{ #category : #utilities }
Expand Down
45 changes: 43 additions & 2 deletions smalltalksrc/VMMakerTests/VMAbstractImageFormatTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,58 @@ Class {
#name : #VMAbstractImageFormatTest,
#superclass : #VMSpurInitializedOldSpaceTest,
#instVars : [
'imageReader'
'imageReader',
'imageReaderClass',
'imageWriterClass'
],
#category : #'VMMakerTests-MemoryTests'
}

{ #category : #tests }
VMAbstractImageFormatTest class >> testParameters [

^ super testParameters * {
{ #imageReaderClass -> SpurImageReader. #imageWriterClass -> SpurImageWriter }.
{ #imageReaderClass -> STONImageReader. #imageWriterClass -> STONImageWriter }.
}
]

{ #category : #tests }
VMAbstractImageFormatTest >> imageFileName [

^ 'lala.image'
]

{ #category : #accessing }
VMAbstractImageFormatTest >> imageReaderClass [

^ imageReaderClass
]

{ #category : #accessing }
VMAbstractImageFormatTest >> imageReaderClass: anObject [

imageReaderClass := anObject
]

{ #category : #accessing }
VMAbstractImageFormatTest >> imageWriterClass [

^ imageWriterClass
]

{ #category : #accessing }
VMAbstractImageFormatTest >> imageWriterClass: anObject [

imageWriterClass := anObject
]

{ #category : #accessing }
VMAbstractImageFormatTest >> initializationOptions [

^ super initializationOptions, { #ImageReader. imageReaderClass name. #ImageWriter. imageWriterClass name }
]

{ #category : #tests }
VMAbstractImageFormatTest >> readHeader [

Expand Down Expand Up @@ -44,7 +85,7 @@ VMAbstractImageFormatTest >> setUp [
interpreter preemptionYields: false.
interpreter setImageHeaderFlagsFrom: 0.

imageReader := SpurImageReader newWithMemory: memory andInterpreter: interpreter
imageReader := imageReaderClass newWithMemory: memory andInterpreter: interpreter
]

{ #category : #running }
Expand Down

0 comments on commit b0bcbe8

Please sign in to comment.