[squeak-dev] Re: Problem with supperclasses in Sunit

Mariano Martinez Peck marianopeck at gmail.com
Thu Mar 26 04:31:39 UTC 2009


On Thu, Mar 26, 2009 at 1:22 AM, Andreas Raab <andreas.raab at gmx.de> wrote:

> SUnit will only use inherited test selectors if the superclass is declared
> as abstract. I find this horribly annoying but that's the way it is. You'll
> have to implement something like:
>
> SuperTest class>>isAbstract
>        ^self == SuperTest "NOT ^true since this makes subclasses abstract
> too"
>
> See ToolBuilderTests and its subclasses for an example.
>

It doesn't work :(  I tried it with my class and also with
MVCToolBuilderTests. In both cases I get this wallback:

any ideas?

thanks for the help.

mariano



MessageNotUnderstood: DBXMainBackendTestPostgresql class>>allSelectorsBelow:
26 March 2009 1:28:40 am

VM: unix - a SmalltalkImage
Image: Squeak3.10.2 [latest update: #7179]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/mariano/squeak/imagenes
Trusted Dir /home/mariano/squeak/imagenes/secure
Untrusted Dir /home/mariano/squeak/imagenes/My Squeak

DBXMainBackendTestPostgresql class(Object)>>doesNotUnderstand:
#allSelectorsBelow:
    Receiver: DBXMainBackendTestPostgresql
    Arguments and temporary variables:
        aMessage:     allSelectorsBelow: TestCase
    Receiver's instance variables:
        superclass:     DBXMainBackendTest
        methodDict:     a MethodDictionary(#facilityToTest->a CompiledMethod
(1970) )
        format:     132
        instanceVariables:     nil
        organization:     ('facility' facilityToTest)

        subclasses:     nil
        name:     #DBXMainBackendTestPostgresql
        classPool:     nil
        sharedPools:     nil
        environment:     a SystemDictionary(lots of globals)
        category:     #'OpenDBX-Core-Tests'
        traitComposition:     nil
        localSelectors:     nil

DBXMainBackendTestPostgresql class(TestCase class)>>withInheritedSelectors
    Receiver: DBXMainBackendTestPostgresql
    Arguments and temporary variables:

    Receiver's instance variables:
        superclass:     DBXMainBackendTest
        methodDict:     a MethodDictionary(#facilityToTest->a CompiledMethod
(1970) )
        format:     132
        instanceVariables:     nil
        organization:     ('facility' facilityToTest)

        subclasses:     nil
        name:     #DBXMainBackendTestPostgresql
        classPool:     nil
        sharedPools:     nil
        environment:     a SystemDictionary(lots of globals)
        category:     #'OpenDBX-Core-Tests'
        traitComposition:     nil
        localSelectors:     nil

DBXMainBackendTestPostgresql class(TestCase class)>>testsSelect:
    Receiver: DBXMainBackendTestPostgresql
    Arguments and temporary variables:
        aBlock:     [] in DBXMainBackendTestPostgresql class(TestCase
class)>>suiteWithSele...etc...
        selector:     nil
        s:     nil
    Receiver's instance variables:
        superclass:     DBXMainBackendTest
        methodDict:     a MethodDictionary(#facilityToTest->a CompiledMethod
(1970) )
        format:     132
        instanceVariables:     nil
        organization:     ('facility' facilityToTest)

        subclasses:     nil
        name:     #DBXMainBackendTestPostgresql
        classPool:     nil
        sharedPools:     nil
        environment:     a SystemDictionary(lots of globals)
        category:     #'OpenDBX-Core-Tests'
        traitComposition:     nil
        localSelectors:     nil

[] in DBXMainBackendTestPostgresql class(TestCase
class)>>suiteWithSelectorsMatching: {[:testClass | suite   addTests:
(testClass     testsSelect: [:sel | pattern ...]}
    Arguments and temporary variables:
        pattern:     'test*'
        suite:     a TestSuite
        testClass:     DBXMainBackendTestPostgresql
        sel:     nil


--- The full stack ---
DBXMainBackendTestPostgresql class(Object)>>doesNotUnderstand:
#allSelectorsBelow:
DBXMainBackendTestPostgresql class(TestCase class)>>withInheritedSelectors
DBXMainBackendTestPostgresql class(TestCase class)>>testsSelect:
[] in DBXMainBackendTestPostgresql class(TestCase
class)>>suiteWithSelectorsMatching: {[:testClass | suite   addTests:
(testClass     testsSelect: [:sel | pattern ...]}
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Array(SequenceableCollection)>>do:
[] in DBXMainBackendTestPostgresql class(TestCase
class)>>suiteWithSelectorsMatching: {[:suite | self theClasses   do:
[:testClass | suite     addTests: (testClass...]}
TestSuite(Object)>>in:
TestSuite class>>define:
DBXMainBackendTestPostgresql class(TestCase
class)>>suiteWithSelectorsMatching:
DBXMainBackendTestPostgresql class(TestCase class)>>allStandardTests
DBXMainBackendTestPostgresql class(TestCase class)>>suite:
[] in TestSuite>>fromClasses:suites:select:reject: {[:suite | self addTests:
(testClass suite: suite) tests]}
Set>>do:
[] in TestSuite>>fromClasses:suites:select:reject: {[:testClass |  suites
do: [:suite | self addTests: (testClass suite: suite...]}
Set>>do:
TestSuite>>fromClasses:suites:select:reject:
TestSuite class>>classes:suites:select:reject:
TestRunner>>suiteAll
TestRunner>>runAll
PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
PluggableButtonMorphPlus>>performAction
[] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp: {[:m | (m
containsPoint: evt cursorPoint)   ifTrue: [m performAction]]}
Array(SequenceableCollection)>>do:
PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
PluggableButtonMorphPlus>>mouseUp:
...etc...



>
> Cheers,
>  - Andreas
>
> Mariano Martinez Peck wrote:
>
>> Hi everybody:
>>
>> I am having a problem with Sunit on Squeak. I have a class called A and
>> has a testXXX method (method that should be executed by sunit). I have class
>> B that inherits from A and has no test method (method that should be run by
>> sunit). When I want to run the tests of B (from Test Runner) I notice that
>> testXXX is not run. I mean, zero runs for class B. I think this is
>> incorrect. Am I ok ? Should testXXX be executed in this case ?
>>
>> Thanks for the help.
>>
>> Mariano
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090326/2b3be356/attachment.htm


More information about the Squeak-dev mailing list