The rework of the CLI was so intrusive that I was unable to keep a cleaned history. Should be better again after this commit. See also: * http://www.imdb.com/title/tt0097444/ * http://www.imdb.com/title/tt0070122/ * http://www.imdb.com/title/tt0109916/ * http://www.imdb.com/title/tt0255198/ * http://www.imdb.com/title/tt0101962/ * http://www.imdb.com/title/tt0113187/ * http://www.imdb.com/title/tt0107027/
The App::Rad bases tapper CLI command now handles creating new scenarios from descriptions in a file. These files can contain macros and are supposed to be as similar to testplans as possible. For example is uses the same self documentations and same keys for requested hosts and features.
This patches cleans up usage of external modules. First, we only want to have one YAML module which will be YAML::XS. Therefore, I superseeded YAML::Syck with YAML::XS. Furthermore, a "use" line should never go somewhere inside a function but alsways at the beginning of a code file to make all used modules easy to see for developers. Also, File::Slurp does not add much value over reading the file manually. Therefore, I removed it too.
I cleaned testplan listing. Now I no longer generate a list of testplan ids and get a TestplanInstance resultset of it later but work on the resultset in the first place. This looks cleaner and makes later changes easier. Furthermore, testplan instances have both a path and a name but the filters somehow implied that both are a different word for the same thing. Now you can filter for both name and path. One testplans that match both conditions are shown. What happens, when multiple filters are applied? That was kind of undefined. Now its clear, all filters beside --id must apply together. --id overrides all filters beside --active.
Listing testplans by given id is working correctly now. Also, I adapted the testplan lister to the current constistency layout of having verbose output only with verbose or given id (because then only listing the id does not add anything helpful for the user).
updating a testrun was not supported in the old CLI with tapper-testrun. For status and auto-rerun such an update makes sense at least for testruns that are not scheduled yet. Therefore, this patch implements an update command for testruns that allowes just these to changes. Other changes may become useful to some time. I did not get any requests for other options to change though and therefore, I'll defer adding more change options. Note: The module is called Tapper::CLI::Test even though it works on testruns. The correct name Tapper::CLI::Testrun is still occupied by the old CLI "tapper-testrun". Will change the module name as soon as the old commands are fully transfered to App::Rad.
We want to reduce the number of dependencies. On of the dependency we want to get rid of is App::Cmd by moving all CLI commands to App::Rad. This is done step by step for time reasons. This patch moves creating new hosts from "tapper-testrun newhost" to "tapper host-new".