[squeak-dev] The Trunk: Tests-mt.449.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Tue Apr 13 09:44:24 UTC 2021


> May I suggest to classify them as private then?

Hmm... #hasInterned:ifTrue: is "private" already. ;-) Maybe #findInterned: should be, too. Yet, soft-deprecation via "self flag: #deprecated" might be even better since both are actually implemented through #lookup:. 

Best,
Marcel
Am 13.04.2021 11:25:27 schrieb Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
Le mar. 13 avr. 2021 à 10:51, a écrit :
>
> Marcel Taeumel uploaded a new version of Tests to project The Trunk:
> http://source.squeak.org/trunk/Tests-mt.449.mcz
>
> ==================== Summary ====================
>
> Name: Tests-mt.449
> Author: mt
> Time: 13 April 2021, 10:51:15.223811 am
> UUID: 23984a3a-fc1c-2a44-a023-9862b3d2ba8d
> Ancestors: Tests-nice.448
>
> Simplify #testUnknownSelector. Avoid interfering with garbage collection and symbol tables.
>
> (Note that #lookup: is the preferred interface, not #findInterned: or #hasInterned:ifTrue:. The concept of internalization should not leak into client code.)

May I suggest to classify them as private then?

>
> =============== Diff against Tests-nice.448 ===============
>
> Item was changed:
> TestCase subclass: #CompilerExceptionsTest
> + instanceVariableNames: 'text selectionInterval originalText previousSelection originalSelection'
> - instanceVariableNames: 'text selectionInterval originalText previousSelection originalSelection tearDowns'
> classVariableNames: ''
> poolDictionaries: ''
> category: 'Tests-Compiler'!
>
> Item was added:
> + ----- Method: CompilerExceptionsTest>>generateUnknownSelector (in category 'private') -----
> + generateUnknownSelector
> +
> + | selector num |
> + selector := 'yourself'.
> + num := 0.
> + [(Symbol lookup: selector, num) notNil] whileTrue: [num := num + 1].
> + ^ selector, num!
>
> Item was removed:
> - ----- Method: CompilerExceptionsTest>>setUp (in category 'running') -----
> - setUp
> -
> - super setUp.
> - tearDowns := OrderedCollection new.
> - Symbol hasInterned: self unknownSelector ifTrue: [:symbol |
> - tearDowns add: [Symbol intern: symbol]].
> - Symbol extern: self unknownSelector.!
>
> Item was changed:
> ----- Method: CompilerExceptionsTest>>tearDown (in category 'running') -----
> tearDown
>
> self removeGeneratedMethods.
> - Symbol extern: self unknownSelector.
> - tearDowns do: #value.
> super tearDown.!
>
> Item was changed:
> ----- Method: CompilerExceptionsTest>>testUnknownSelector (in category 'tests') -----
> testUnknownSelector
>
> + | unknownSelector |
> + self flag: #flaky. "mt: This test depends on a list of suggestions that is derived from the system's known selectors. Any desired replacement might not be present in the actual list. Maybe we could use an index-based choice instead."
> + unknownSelector := self generateUnknownSelector.
> self
> + compiling: 'griffle self ' , unknownSelector
> - compiling: 'griffle self ' , self unknownSelector
> shouldRaise: UnknownSelector
> + andSelect: unknownSelector
> - andSelect: self unknownSelector
> testing: {
> + false -> [
> + self assertCanceled.
> + self assert: (Symbol lookup: unknownSelector) isNil].
> + 'yourself' -> [
> + self assertSucceeded: 'griffle self yourself'.
> + self assert: (Symbol lookup: unknownSelector) isNil].
> + unknownSelector -> [
> - false -> [self assertCanceled].
> - 'yourself' -> [self assertSucceeded: 'griffle self yourself'].
> - self unknownSelector -> [
> self assertSucceeded.
> + self assert: (Symbol lookup: unknownSelector) notNil] }.
> + unknownSelector := self generateUnknownSelector.
> - self assert: (Symbol hasInterned: self unknownSelector ifTrue: [:symbol |]).
> - Symbol extern: self unknownSelector] }.
> self
> + compiling: 'griffle [ self ' , unknownSelector , ' ] value'
> - compiling: 'griffle [ self ' , self unknownSelector , ' ] value'
> shouldRaise: UnknownSelector
> + andSelect: unknownSelector
> - andSelect: self unknownSelector
> testing: {
> + false -> [
> + self assertCanceled.
> + self assert: (Symbol lookup: unknownSelector) isNil].
> + 'yourself' -> [
> + self assertSucceeded: 'griffle [ self yourself ] value'.
> + self assert: (Symbol lookup: unknownSelector) isNil].
> + unknownSelector -> [
> - false -> [self assertCanceled].
> - 'yourself' -> [self assertSucceeded: 'griffle [ self yourself ] value'].
> - self unknownSelector -> [
> self assertSucceeded.
> + self assert: (Symbol lookup: unknownSelector) notNil] }.!
> - self assert: (Symbol hasInterned: self unknownSelector ifTrue: [:symbol |])] }.!
>
> Item was removed:
> - ----- Method: CompilerExceptionsTest>>unknownSelector (in category 'private') -----
> - unknownSelector
> -
> - ^ 'yourrsellff'!
>
> Item was removed:
> - ----- Method: Symbol class>>extern: (in category '*Tests-release') -----
> - extern: aStringOrSymbol
> -
> - {NewSymbols. SymbolTable} do: [:table |
> - table remove: aStringOrSymbol ifAbsent: []].!
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210413/05be3f42/attachment-0001.html>


More information about the Squeak-dev mailing list