[squeak-dev] Continuous integration (was: All tests running green)

laurent laffont laurent.laffont at gmail.com
Sat Jul 26 16:30:46 UTC 2008


Hi,

I've started to work on a ContinuousIntegration package to periodically
generate test reports for images provided by Damien Cassou (and more ?). You
can find more info here: http://www.squeaksource.com/ContIntegration.html
To run all tests and generate a xml report per test case, type

CITestRunner runAllTests.

I've also made a bash script (squeakci) to run all the tests. It could later
be run in a cron job for example: http://adhocmusic.org/squeak/squeakci

Here is a (basic) first report:
http://adhocmusic.org/squeak/squeak_test_report.html

It is not complete, as I have encountered some problems:

1. some code run by the tests have syntax errors. (for example:
ChildrenToSiblingsTest>>#testModelChildrenToSibling). On a syntax error
squeak open the debugger and the test run stop. To run all the tests, I
prefer that errors like SyntaxError generates only a test error (only for
continuous integration). So I've written an ugly hacky workaround in
SyntaxError>>open

open: aSyntaxError
    "Answer a standard system view whose model is an instance of me."
    | topView |
    <primitive: 19> "Simulation guard"
    shouldOpenDebuggerOnError  ifFalse: [ ^ false ].
    Smalltalk isMorphic ifTrue:
....

so before running CITestRunner, I write "SyntaxErrror openDebuggerOnError:
false"  to disable the openning of the debugger.
I think there must be a better way to do this, but as I'm a totally
SmallTalk newbie ... idea ?

2. Some tests require user interaction with popups, ...  I want these tests
to generate an error when trying to open such dialogs, as unit tests should
never require user interaction. How can I do this ?


3. PushUpMethodTest freezes squeak


Laurent Laffont
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080726/07548a3f/attachment.htm


More information about the Squeak-dev mailing list