Calypso idea - inherited tests

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Calypso idea - inherited tests

Ben Coman
(Just a quick share from work before that neuron goes back to sleep and I forget it...)

When a number of domain substitute classes need to satisfy the same tests,
its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.

From the Browser "all tests" can be run for each subclass by clicking the class's test-icon,
but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.

In the same way that extension methods are shown in gray, it would be useful 
for inherited tests to be shown in gray, so each has an individual indication and can be run separately.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

Guillermo Polito
Hi Ben,

> El 29 may 2019, a las 3:46, Ben Coman <[hidden email]> escribió:
>
> (Just a quick share from work before that neuron goes back to sleep and I forget it...)
>
> When a number of domain substitute classes need to satisfy the same tests,
> its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.

For a more complex scenario (but applying to this one too), we use in Spec and Iceberg parametrizable tests.
Parametrizable tests define a matrix of values and then create dynamically 1 test case per configuration in the matrix.
Still these matrixes do not yet have IDE support.

Julien and Dayné have in their roadmap to make an integration with DrTests

>
> From the Browser "all tests" can be run for each subclass by clicking the class's test-icon,
> but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.

Yes, I’ve seen this. I run the tests in the TestRunner as a workaround myself.

>
> In the same way that extension methods are shown in gray, it would be useful
> for inherited tests to be shown in gray, so each has an individual indication and can be run separately.
>
> cheers -ben


Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

Denis Kudriashov
In reply to this post by Ben Coman
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Is it what you are looking for? or do you need anything else? 

ср, 29 мая 2019 г., 2:47 Ben Coman <[hidden email]>:
(Just a quick share from work before that neuron goes back to sleep and I forget it...)

When a number of domain substitute classes need to satisfy the same tests,
its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.

From the Browser "all tests" can be run for each subclass by clicking the class's test-icon,
but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.

In the same way that extension methods are shown in gray, it would be useful 
for inherited tests to be shown in gray, so each has an individual indication and can be run separately.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

Ben Coman


On Thu, 30 May 2019 at 06:26, Denis Kudriashov <[hidden email]> wrote:
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Ahh, excellent... the second is exactly what I wanted.

Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example,
clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected"
Do you get the same?

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

Denis Kudriashov
чт, 30 мая 2019 г. в 04:59, Ben Coman <[hidden email]>:


On Thu, 30 May 2019 at 06:26, Denis Kudriashov <[hidden email]> wrote:
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Ahh, excellent... the second is exactly what I wanted.

Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example,
clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected"
Do you get the same?

No I don't have it. I checked on Pharo 7 and latest Pharo 8
 

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

ducasse
In reply to this post by Ben Coman


On 29 May 2019, at 23:58, Ben Coman <[hidden email]> wrote:



On Thu, 30 May 2019 at 06:26, Denis Kudriashov <[hidden email]> wrote:
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Ahh, excellent... the second is exactly what I wanted.

Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example,
clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected"
Do you get the same?

Yes this happens to me often. 
I think that calypso forks too many processes. 

cheers -ben


Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

Denis Kudriashov
Hi guys.

Would be nice to see the error stack. 
Which variable is nil in that case?

I really do not see such errors. Is it pharo 7 or 8?


чт, 30 мая 2019 г., 11:17 ducasse <[hidden email]>:


On 29 May 2019, at 23:58, Ben Coman <[hidden email]> wrote:



On Thu, 30 May 2019 at 06:26, Denis Kudriashov <[hidden email]> wrote:
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Ahh, excellent... the second is exactly what I wanted.

Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example,
clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected"
Do you get the same?

Yes this happens to me often. 
I think that calypso forks too many processes. 

cheers -ben


Reply | Threaded
Open this post in threaded view
|

Re: Calypso idea - inherited tests

ducasse
I will try to save them when I get them.


On 30 May 2019, at 08:09, Denis Kudriashov <[hidden email]> wrote:

Hi guys.

Would be nice to see the error stack. 
Which variable is nil in that case?

I really do not see such errors. Is it pharo 7 or 8?


чт, 30 мая 2019 г., 11:17 ducasse <[hidden email]>:


On 29 May 2019, at 23:58, Ben Coman <[hidden email]> wrote:



On Thu, 30 May 2019 at 06:26, Denis Kudriashov <[hidden email]> wrote:
Hi Ben.

There are already two features that support inherited tests:
- run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests.
- toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.

Ahh, excellent... the second is exactly what I wanted.

Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example,
clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected"
Do you get the same?

Yes this happens to me often. 
I think that calypso forks too many processes. 

cheers -ben