Smalltalk CI - anyone have any luck excluding tests?

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

Smalltalk CI - anyone have any luck excluding tests?

Tim Mackinnon
As part of Exercism we have to show our language track can build and run tests - and they use Travis - so, pretty awesome we have that tooling.

So it was pretty straightforward t hook in - and there are enough examples around to support the docs for the .yml and .ston file - however I hit an issue with the inclusion and exclusion of test files. I put an issue on SmalltalkCI - but its sat there for 8days (https://github.com/hpi-swa/smalltalkCI/issues/417) so I’m wondering if anyone has experience with this?

Essentially if I include my other packages ‘ExercismDev’ and ‘ExercismTools’  (see sample below - I’ve removed them from the include list) then some of my tests run twice (I believe because the exclude of #AllExercismTests doesn’t work). I also have some environmental tests that need improving to run more generically (Submit/Download) and again those don’t seem to be excluded.

It’s like “exclude" simply doesn’t work - but I would think this would be reported more widely if this was the case. So maybe I don’t understand the overlap of include/exclude etc. Anyone have any thoughts?

Tim
SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Exercism',
#directory : 'dev/src',
#load : [ 'dev' ],

#platforms : [ #pharo ]
}
],

#testing : {
#include : {
#packages : [ 'Exercism' ]
},
#exclude : {
#classes : [ #AllExercismTests, #ExercismTest, #ExercismSubmitTest, #ExercismDownloadTest ],
#packages : [ 'ExercismWIP']
}
}
}

Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk CI - anyone have any luck excluding tests?

Tim Mackinnon
FYI: Just bumping this - but on investigation it looks like the Pharo support for Tags breaks in Smalltalk CI - so top level packages with similar names (e.g. Exercism and ExercismWIP) all seem to get included by the include directive of ‘Exercism’ (with no wildcard).


It does mean that many of you might be running more tests than you need to, and it might explain strange build failures if you are trying to use exclude.

At some point I will have a go at fixing this, if someone doesn’t beat me to it.

Tim

On 6 Mar 2019, at 09:10, Tim Mackinnon <[hidden email]> wrote:

As part of Exercism we have to show our language track can build and run tests - and they use Travis - so, pretty awesome we have that tooling.

So it was pretty straightforward t hook in - and there are enough examples around to support the docs for the .yml and .ston file - however I hit an issue with the inclusion and exclusion of test files. I put an issue on SmalltalkCI - but its sat there for 8days (https://github.com/hpi-swa/smalltalkCI/issues/417) so I’m wondering if anyone has experience with this?

Essentially if I include my other packages ‘ExercismDev’ and ‘ExercismTools’  (see sample below - I’ve removed them from the include list) then some of my tests run twice (I believe because the exclude of #AllExercismTests doesn’t work). I also have some environmental tests that need improving to run more generically (Submit/Download) and again those don’t seem to be excluded.

It’s like “exclude" simply doesn’t work - but I would think this would be reported more widely if this was the case. So maybe I don’t understand the overlap of include/exclude etc. Anyone have any thoughts?

Tim
SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Exercism',
#directory : 'dev/src',
#load : [ 'dev' ],

#platforms : [ #pharo ]
}
],

#testing : {
#include : {
#packages : [ 'Exercism' ]
},
#exclude : {
#classes : [ #AllExercismTests, #ExercismTest, #ExercismSubmitTest, #ExercismDownloadTest ],
#packages : [ 'ExercismWIP']
}
}
}


Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk CI - anyone have any luck excluding tests?

Guillermo Polito
Hi Tim,

I got something like what you describe that working for pillar and OSSubprocess, but putting different tests in different packages, not tags.


On Tue, Mar 12, 2019 at 6:00 PM Tim Mackinnon <[hidden email]> wrote:
FYI: Just bumping this - but on investigation it looks like the Pharo support for Tags breaks in Smalltalk CI - so top level packages with similar names (e.g. Exercism and ExercismWIP) all seem to get included by the include directive of ‘Exercism’ (with no wildcard).


It does mean that many of you might be running more tests than you need to, and it might explain strange build failures if you are trying to use exclude.

At some point I will have a go at fixing this, if someone doesn’t beat me to it.

Tim

On 6 Mar 2019, at 09:10, Tim Mackinnon <[hidden email]> wrote:

As part of Exercism we have to show our language track can build and run tests - and they use Travis - so, pretty awesome we have that tooling.

So it was pretty straightforward t hook in - and there are enough examples around to support the docs for the .yml and .ston file - however I hit an issue with the inclusion and exclusion of test files. I put an issue on SmalltalkCI - but its sat there for 8days (https://github.com/hpi-swa/smalltalkCI/issues/417) so I’m wondering if anyone has experience with this?

Essentially if I include my other packages ‘ExercismDev’ and ‘ExercismTools’  (see sample below - I’ve removed them from the include list) then some of my tests run twice (I believe because the exclude of #AllExercismTests doesn’t work). I also have some environmental tests that need improving to run more generically (Submit/Download) and again those don’t seem to be excluded.

It’s like “exclude" simply doesn’t work - but I would think this would be reported more widely if this was the case. So maybe I don’t understand the overlap of include/exclude etc. Anyone have any thoughts?

Tim
SmalltalkCISpec {
#loading : [
SCIMetacelloLoadSpec {
#baseline : 'Exercism',
#directory : 'dev/src',
#load : [ 'dev' ],

#platforms : [ #pharo ]
}
],

#testing : {
#include : {
#packages : [ 'Exercism' ]
},
#exclude : {
#classes : [ #AllExercismTests, #ExercismTest, #ExercismSubmitTest, #ExercismDownloadTest ],
#packages : [ 'ExercismWIP']
}
}
}




--

   

Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - http://www.cnrs.fr


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13