Skip to content

Commit

Permalink
tests fix.
Browse files Browse the repository at this point in the history
Somehow #testHoldRequestedCritiquesWeak for cleaning weak reference works stable only when analysis result is inside inst variable. When it is temp variable then sometimes weak result is not cleaned when we nil variable value. But it is immediatelly cleaned when debugger appears
  • Loading branch information
dionisiydk committed Jul 16, 2017
1 parent e61eb89 commit f37aac8
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
tests
testHoldRequestedCritiquesWeak
| class result |
| class |
"by some reason analysisResult should be inst var. When it is temp then garbage collection not clean weak value of this variable when we nil it in the test. But it is cleaned when debugger is opened"
self timeLimit: 10 seconds.
class := ClyAnalyzedClassStub new.
class foundClassCritiques: #(critique1 critique2).
class passQuicklyCritiquesAnalysis.

result := critic analyze: class.
analysisResult := critic analyze: class.
self waitAnalysisComplete.
Smalltalk garbageCollect.
self assert: (critic requestedCritiques analysisResultFor: class ifAbsent: [ nil ]) == result.
result := nil.
self assert: (critic requestedCritiques analysisResultFor: class ifAbsent: [ nil ]) == analysisResult.
analysisResult := nil.
Smalltalk garbageCollect.
self deny: (critic requestedCritiques isRegistered: class).
self assert: (critic requestedCritiques analysisResultFor: class ifAbsent: [ nil ]) isNil.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ testUpdatingAllCritiques
class := ClyAnalyzedClassStub new.
class foundClassCritiques: (#critique1).
class analyzedClassSideSelectors: #(methodWithHalt).
critic analyze: class.
analysisResult := critic analyze: class.
self waitAnalysisComplete.
self assert: (critic doesObjectHaveCritiques: ClyAnalyzedClassStub class >> #methodWithHalt).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
"pools" : [ ],
"classvars" : [ ],
"instvars" : [
"critic"
"critic",
"analysisResult"
],
"name" : "ClySystemCriticTests",
"type" : "normal"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ computeCritiquesBy: aSystemCritic

aSystemCritic registerCritiques: self critiques for: self.

aSystemCritic analyze: (ClyAnalyzedClassMethods of: self)
aSystemCritic analyze: (ClyAnalyzedClassMethods of: self)

0 comments on commit f37aac8

Please sign in to comment.