Skip to content

Commit

Permalink
Merge pull request #3634 from astares/3633-Cleanup-CompiledMethodTrai…
Browse files Browse the repository at this point in the history
…lerTest

Cleanup CompiledMethodTrailerTest
  • Loading branch information
MarcusDenker committed Jun 26, 2019
2 parents acee950 + 191a401 commit b82e847
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 27 deletions.
19 changes: 9 additions & 10 deletions src/Kernel-Tests-Extended/CompiledMethodTrailerTest.extension.st
Expand Up @@ -12,10 +12,10 @@ CompiledMethodTrailerTest >> testEmbeddingCompressedSourceCode [
newTrailer := trailer testEncoding.

self assert: (trailer kind == #EmbeddedSourceQCompress ).
self assert: (newTrailer sourceCode = code).
self assert: newTrailer sourceCode equals: code.

"the last bytecode index must be at 0"
self assert: (newTrailer endPC = 0).
self assert: newTrailer endPC equals: 0.

code := 'testEmbeddingSourceCode
Expand All @@ -26,16 +26,15 @@ CompiledMethodTrailerTest >> testEmbeddingCompressedSourceCode [
trailer sourceCode: code.
newTrailer := trailer testEncoding.
self assert: (newTrailer sourceCode = code).'.
self assert: newTrailer sourceCode equals: code.'.

trailer compressSourceCode: code.
self assert: (trailer kind == #EmbeddedSourceZip ).
newTrailer := trailer testEncoding.

self assert: (newTrailer sourceCode = code).
self assert: newTrailer sourceCode equals: code.
"the last bytecode index must be at 0"
self assert: (newTrailer endPC = 0).

self assert: newTrailer endPC equals: 0
]

{ #category : #'*Kernel-Tests-Extended' }
Expand All @@ -50,7 +49,7 @@ CompiledMethodTrailerTest >> testEmbeddingSourceCode [
trailer sourceCode: code.
newTrailer := trailer testEncoding.
self assert: (newTrailer sourceCode = code).'.
self assert: newTrailer sourceCode equals: code.'.

"Test a big string"
self testEmbeddingSourceCode: (String loremIpsum: 30000).
Expand All @@ -59,9 +58,9 @@ CompiledMethodTrailerTest >> testEmbeddingSourceCode [
]

{ #category : #'*Kernel-Tests-Extended' }
CompiledMethodTrailerTest >> testEmbeddingSourceCodeBig [

CompiledMethodTrailerTest >> testEmbeddingSourceCodeBig [
"Test a big string"
self testEmbeddingSourceCode: (String loremIpsum: 30000).

self testEmbeddingSourceCode: (String loremIpsum: 30000)

]
31 changes: 14 additions & 17 deletions src/Kernel-Tests/CompiledMethodTrailerTest.class.st
Expand Up @@ -7,7 +7,7 @@ Class {
#category : #'Kernel-Tests-Methods'
}

{ #category : #tests }
{ #category : #utilities }
CompiledMethodTrailerTest >> testEmbeddingSourceCode: sourceCode [

| trailer newTrailer |
Expand All @@ -16,17 +16,17 @@ CompiledMethodTrailerTest >> testEmbeddingSourceCode: sourceCode [
trailer embeddedSourceCode: sourceCode.
newTrailer := trailer testEncoding.

self assert: (trailer kind == #EmbeddedSource or: [trailer kind == #EmbeddedSourceWide]).
self assert: (newTrailer sourceCode = sourceCode).
self assert: (#(EmbeddedSource EmbeddedSourceWide) includes: trailer kind).
self assert: newTrailer sourceCode equals: sourceCode.

"the last bytecode index must be at 0"
self assert: (newTrailer endPC = 0).
self assert: newTrailer endPC equals: 0.
]

{ #category : #tests }
CompiledMethodTrailerTest >> testEmbeddingSourceCodeWide [

CompiledMethodTrailerTest >> testEmbeddingSourceCodeWide [
"Test that wide strings survive"

self testEmbeddingSourceCode: 'doit ^''Под южно дърво, цъфтящо в синьо, бягаше малко пухкаво зайче.'' '.

]
Expand All @@ -40,15 +40,14 @@ CompiledMethodTrailerTest >> testEncodingNoTrailer [

"by default it should be a no-trailer, 4 byte wide so it can be used to store a sourcePointer"
self assert: (trailer kind == #NoTrailer ).
self assert: (trailer size = 4).
self assert: trailer size equals: 4.

trailer := trailer testEncoding.

self assert: (trailer kind == #NoTrailer ).
self assert: (trailer size = 4).
self assert: trailer size equals: 4.
"the last bytecode index must be at 0"
self assert: (trailer endPC = 0).

self assert: trailer endPC equals: 0
]

{ #category : #tests }
Expand All @@ -63,7 +62,7 @@ CompiledMethodTrailerTest >> testEncodingSourcePointer [
self assert: ( (ptr := method sourcePointer) == trailer sourcePointer).
"the last bytecode index must be at 0"
ptr ~= 0 ifTrue: [
self assert: (method endPC = trailer endPC) ].
self assert: method endPC equals: trailer endPC ].
].
]

Expand All @@ -77,14 +76,13 @@ CompiledMethodTrailerTest >> testEncodingVarLengthSourcePointer [
trailer sourcePointer: 1.
newTrailer := trailer testEncoding.

self assert: (newTrailer sourcePointer = 1).
self assert: newTrailer sourcePointer equals: 1.

trailer sourcePointer: 16r100000000000000.
newTrailer := trailer testEncoding.
self assert: (newTrailer sourcePointer = 16r100000000000000).
self assert: newTrailer sourcePointer equals: 16r100000000000000.
"the last bytecode index must be at 0"
self assert: (newTrailer endPC = 0).

self assert: newTrailer endPC equals: 0
]

{ #category : #tests }
Expand All @@ -94,7 +92,6 @@ CompiledMethodTrailerTest >> testEncodingZeroSourcePointer [

trailer := CompiledMethodTrailer new.

self assert:
(trailer sourcePointer: 0) testEncoding sourcePointer = 0
self assert: (trailer sourcePointer: 0) testEncoding sourcePointer equals: 0

]

0 comments on commit b82e847

Please sign in to comment.