Skip to content

Commit 2e3ec99

Browse files
authored
Merge pull request #77 from DurieuxPol/fix/logger
Updated file logger
2 parents aee676f + 89a9d76 commit 2e3ec99

File tree

2 files changed

+46
-14
lines changed

2 files changed

+46
-14
lines changed

src/MuTalk-Model/MTAnalysisFileLogger.class.st

+23-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Class {
22
#name : 'MTAnalysisFileLogger',
33
#superclass : 'MTAnalysisLogger',
44
#instVars : [
5-
'fileStream'
5+
'fileReference'
66
],
77
#category : 'MuTalk-Model-Logging',
88
#package : 'MuTalk-Model',
@@ -16,22 +16,27 @@ MTAnalysisFileLogger class >> toFileNamed: aString [
1616

1717
{ #category : 'initialize-release' }
1818
MTAnalysisFileLogger >> initializeToFileNamed: aString [
19-
fileStream := FileStream forceNewFileNamed: aString.
19+
20+
fileReference := aString asFileReference
2021
]
2122

2223
{ #category : 'logging' }
23-
MTAnalysisFileLogger >> logAnalysisStartFor: aMutationTestingAnalysis [
24-
self writeLineToFile: 'The analysis is starting...'.
24+
MTAnalysisFileLogger >> logAnalysisStartFor: aMutationTestingAnalysis [
25+
26+
self writeLineToFile: 'The analysis is starting...'
2527
]
2628

2729
{ #category : 'logging' }
28-
MTAnalysisFileLogger >> logStartBuildingMutantionsFor: aCompiledMethod using: aMutantOperator [
29-
self writeLineToFile: 'Generating mutations for '
30-
, (self methodNameOf: aCompiledMethod) , ' With operator:' , aMutantOperator description
30+
MTAnalysisFileLogger >> logStartBuildingMutantionsFor: aCompiledMethod using: aMutantOperator [
31+
32+
self writeLineToFile:
33+
'Generating mutations for ' , (self methodNameOf: aCompiledMethod)
34+
, ' With operator:' , aMutantOperator description
3135
]
3236

3337
{ #category : 'logging' }
3438
MTAnalysisFileLogger >> logStartEvaluating: aMethodMutation [
39+
3540
| logStream |
3641
logStream := WriteStream on: String new.
3742
logStream
@@ -44,14 +49,18 @@ MTAnalysisFileLogger >> logStartEvaluating: aMethodMutation [
4449
]
4550

4651
{ #category : 'private' }
47-
MTAnalysisFileLogger >> methodNameOf: aCompiledMethod [
48-
^aCompiledMethod methodClass name asString , '>>' , aCompiledMethod selector printString
52+
MTAnalysisFileLogger >> methodNameOf: aCompiledMethod [
53+
54+
^ aCompiledMethod methodClass name asString , '>>'
55+
, aCompiledMethod selector printString
4956
]
5057

5158
{ #category : 'private' }
52-
MTAnalysisFileLogger >> writeLineToFile: aString [
53-
[fileStream closed
54-
ifTrue: [fileStream open].
55-
fileStream setToEnd; nextPutAll: aString; cr]
56-
ensure: [fileStream close]
59+
MTAnalysisFileLogger >> writeLineToFile: aString [
60+
61+
fileReference writeStreamDo: [ :stream |
62+
stream
63+
setToEnd;
64+
nextPutAll: aString;
65+
cr ]
5766
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Class {
2+
#name : 'MTAnalysisFileLoggerTest',
3+
#superclass : 'TestCase',
4+
#category : 'MuTalk-Tests',
5+
#package : 'MuTalk-Tests'
6+
}
7+
8+
{ #category : 'tests' }
9+
MTAnalysisFileLoggerTest >> testLogFileExists [
10+
11+
| analysis logFileName logFile |
12+
logFileName := 'logFileForTest.txt'.
13+
logFile := logFileName asFileReference.
14+
analysis := MTAnalysis new
15+
classesToMutate: { MTAuxiliarClassForMTAnalysis };
16+
testClasses: { MTAuxiliarClassForMTAnalysisTest };
17+
logger: (MTAnalysisFileLogger toFileNamed: logFileName).
18+
19+
analysis run.
20+
21+
self assert: logFile exists.
22+
logFile delete
23+
]

0 commit comments

Comments
 (0)