[Pharo-project] Pharo 1.1 failing tests testAllLocalCallsOn
testAllLocalCallsOn " self debug: #testAllLocalCallsOn " | set | set := Array allLocalCallsOn: #printOn:. self assert: (set asArray = #('WeakActionSequence printOn:' 'Object fullPrintString' 'Array printOn:' 'SequenceableCollection asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:' 'Object printStringLimitedTo:' 'Collection printNameOn:' 'ActionSequence printOn:' 'FixedIdentitySet printOn:')). "This is a bit strange that allLocalCallsOn: returns a list of string!" This one is bad for two reasons: 1) it relies on an arbitrary order in Set. For example, just change default size of sets and the order will change. Eventually you could test set = #() asSet but see 2) 2) it relies on a particular snapshot of pharo and prevent pharo from evolving. Moreover, if a user adds its own sender of printOn: in an extension or a subclass, this will make the test fail... Such test should create a class hierarchy dedicated to the test with a know set of senders and test Either correct it or remove it. Nicolas
Same for testAllCallsOn, this test is obsolete as soon as you make modifications in Pharo :) Such test should use specific classes and messages specially crafted for the test Nicolas 2010/1/16 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
testAllLocalCallsOn     "     self debug: #testAllLocalCallsOn     "
    | set |     set := Array allLocalCallsOn: #printOn:.     self assert: (set asArray =  #('WeakActionSequence printOn:' 'Object fullPrintString' 'Array printOn:' 'SequenceableCollection asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:' 'Object printStringLimitedTo:' 'Collection printNameOn:' 'ActionSequence printOn:' 'FixedIdentitySet printOn:')).     "This is a bit strange that allLocalCallsOn: returns a list of string!"
This one is bad for two reasons: 1) it relies on an arbitrary order in Set. For example, just change default size of sets and the order will change. Eventually you could test set = #() asSet but see 2) 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
Moreover, if a user adds its own sender of printOn: in an extension or a subclass, this will make the test fail...
Such test should create a class hierarchy dedicated to the test with a know set of senders and test Either correct it or remove it.
Nicolas
Yes thanks. I will probably kill them. or create a fixture that is stable On Jan 16, 2010, at 2:47 PM, Nicolas Cellier wrote:
Same for testAllCallsOn, this test is obsolete as soon as you make modifications in Pharo :)
Such test should use specific classes and messages specially crafted for the test
Nicolas
2010/1/16 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
testAllLocalCallsOn " self debug: #testAllLocalCallsOn "
| set | set := Array allLocalCallsOn: #printOn:. self assert: (set asArray = #('WeakActionSequence printOn:' 'Object fullPrintString' 'Array printOn:' 'SequenceableCollection asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:' 'Object printStringLimitedTo:' 'Collection printNameOn:' 'ActionSequence printOn:' 'FixedIdentitySet printOn:')). "This is a bit strange that allLocalCallsOn: returns a list of string!"
This one is bad for two reasons: 1) it relies on an arbitrary order in Set. For example, just change default size of sets and the order will change. Eventually you could test set = #() asSet but see 2) 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
Moreover, if a user adds its own sender of printOn: in an extension or a subclass, this will make the test fail...
Such test should create a class hierarchy dedicated to the test with a know set of senders and test Either correct it or remove it.
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I opened the following bug entry: - first allLocalCallsOn: should return methodRefernece and not strings - second we should get some fixture and tests http://code.google.com/p/pharo/issues/list?thanks=1844 I removed this tests Stef On Jan 16, 2010, at 7:35 PM, Stéphane Ducasse wrote:
Yes thanks. I will probably kill them. or create a fixture that is stable
On Jan 16, 2010, at 2:47 PM, Nicolas Cellier wrote:
Same for testAllCallsOn, this test is obsolete as soon as you make modifications in Pharo :)
Such test should use specific classes and messages specially crafted for the test
Nicolas
2010/1/16 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
testAllLocalCallsOn " self debug: #testAllLocalCallsOn "
| set | set := Array allLocalCallsOn: #printOn:. self assert: (set asArray = #('WeakActionSequence printOn:' 'Object fullPrintString' 'Array printOn:' 'SequenceableCollection asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:' 'Object printStringLimitedTo:' 'Collection printNameOn:' 'ActionSequence printOn:' 'FixedIdentitySet printOn:')). "This is a bit strange that allLocalCallsOn: returns a list of string!"
This one is bad for two reasons: 1) it relies on an arbitrary order in Set. For example, just change default size of sets and the order will change. Eventually you could test set = #() asSet but see 2) 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
Moreover, if a user adds its own sender of printOn: in an extension or a subclass, this will make the test fail...
Such test should create a class hierarchy dedicated to the test with a know set of senders and test Either correct it or remove it.
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (2)
-
Nicolas Cellier -
Stéphane Ducasse