Runner2
Runner2 is an engine to perform repetitive operations, quickly.
It has been used to automate the installation of a chain of softwares on a set of test machines, and it will be used to perform automated testing of softwares.
Runner2 has been written keeping in mind that:
- a set of operations constitues a sort of recipe
- a recipe is an XML file
- operations have priorities; so the operations are grouped by their priority during the execution; operations without a priority are not considered (limbic operations?)
- unless a priority level has not been completed, other priority levels won't be executed
- logging is important, so each operation is (and can be) logged
- reporting is important too, so at the end of the execution you'll be given a recipe report
- the report can be saved to a sqllite formatted file for further inspection
- extensibility is important as well: you can write your own functions, to integrate the runner engine
- nevertheless, the extensibility of the engine shouldn't affect the engine itself (code separation of the custom operations and of the engine itself)
Runner2 is written in Python, since this language offers a very good run-time extensibility and is easily maintanable. The code is interpreted at run-time, and so it is slower than a C code, but this wasn't necessarily the aim of the project. The automated operations are supposed to be quick. The automating operations completed by Runner2 were once made by hand, so the speed up factor is not mesurable but enormous.
Requirements
Get it!
In the case you would give runner2 a chance, download the components listed among the Requirements, as well as the file Runner2 (revision 194). Then unpack the archive and read the runrunner.bat file.
Instead, were you willing to change it, download (jre+eclipse+pydev plugin+subversion plugin) set. The n check out the last revision from the svn and use the eclipse 'Run as' feature to start runner2.
You can find the SVN repository at the address
http://svn2.assembla.com/svn/etools
or, if you want to download the files by hand (not recommended), browse it through an HTTP interface.