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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Apr 13 09:25:00 UTC 2021


Le mar. 13 avr. 2021 à 10:51, <commits at source.squeak.org> 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: []].!
>
>


More information about the Squeak-dev mailing list