TestFailure
If a class has a method in its trait composition, the method should not be implemented in the class.
Violations:
- TStDebuggerExtensionTestClass class
- TStDebuggerExtensionTestClass class
- TStDebuggerExtensionTestClass class
ReleaseTest(TestAsserter)>>assert:description:resumable:
ReleaseTest(TestAsserter)>>assert:description:
ReleaseTest>>assertValidLintRule:withExceptions:
ReleaseTest>>testLocalMethodsOfTheClassShouldNotBeRepeatedInItsTraits
ReleaseTest(TestCase)>>performTest
TestFailure
Found undeclared Variables:
DAPackageDependenciesPresenter in: ClyShowDependencyCritiqueCommand>>#execute
DADependencyChecker in: PharoBootstrapRule>>#dependencyChecker
ReleaseTest(TestAsserter)>>assert:description:resumable:
ReleaseTest(TestAsserter)>>assert:description:
[ "we compile a second method with the undeclared #undeclaredStubInstVar1 to trigger the code path of removing twice in #cleanOutUndeclared"
self class compile: 'methodForTest ^undeclaredStubInstVar1'.
Smalltalk cleanOutUndeclared.
undeclaredVariables := Undeclared associations select: [ :each | each isUndeclaredVariable ].
validExceptions := { #undeclaredStubInstVar1. #undeclaredStubInstVar2. #Gofer }. "The laste one is for Smalltalk CI and our external projects... But we should find a better solution at some point."
"for now we filter by name, maybe filtering by variable would be better"
remaining := undeclaredVariables reject: [ :each | validExceptions includes: each name ].
"we look for one of the using methods of the undeclared var and report that,
this should be enough to fix it quickly"
description := String streamContents: [ :stream |
stream nextPutAll: 'Found undeclared Variables: '.
remaining do: [ :variable |
| method |
method := variable usingMethods anyOne.
stream cr
nextPutAll: variable name;
nextPutAll: ' in: ';
print: method methodClass;
nextPutAll: '>>';
print: method selector ] ].
self assert: remaining isEmpty description: description ] in ReleaseTest>>testUndeclared
FullBlockClosure(BlockClosure)>>ensure:
ReleaseTest>>testUndeclared
ReleaseTest(TestCase)>>performTest