Added few enhancements to marvin.
Added new module for Logging Facility to marvin.
Added new Init facility to marvin.
Currently, there are multiple ways we are doing logging
Removed few unwanted logging cases.
Removed few command line switch options for logging.
The new way of logging now provides consolidated logging
under one single folder timestamped under the configured
folder path.
Removed parsing configuration from deploydata center
Added parsing,start logging and deploy as part of init
Added new error handling facility to catch unknown exception from
test cases. Currently, lot of scripts are throwing unknown
exceptions, add a handler to plugin to dump them to a file
ToDO:
Will do clean up in phase2 for this patch.
Separate deployDatacenter from creating test client.
Clean up configGenerator
enable the marvin plugin when the --with-marvin directive is given to nose. The
enableOpt value is set from the command line directive and self.enabled
(True|False) determines whether marvin's tests will run. By default
non-default plugins like marvin will be disabled"
This fixes regression from 03830c5
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
- Added few common naming conventions
- Cleanedup code
- Added a simple utility function
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
This will add time taken in seconds along with start and end timestamp
logging facility for test cases.Currently this is not
available for console logs
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
It is useful to have the same logger used in the marvinplugin into the
testcase. The testcase can then append its name to the logger making
the logs specify exactly which test is executing when the logs are
generated
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit c84a2d8801b7898dbfee18e17950cb9fca7d36e7)
Missed scenario for appending test case names to accounts when
setUpClass calls the account.creation integration library.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 9a5d2e9e36411ac5df17baca13874e0575233dac)
Prevent chained appending of the testclass/testnames to the accounnt
names.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit fb75f51755)
If the test doesn't create the account within the testXxx method we miss
the trail of the accountname because the setUpClass() created the
account. Append the module name in advance in such cases to identify the
account that was created in the suite before any tests were executed.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 6a8608a916eec2551797e93634d9716e9d15c783)
Accounts will be prepended by the testcase name to ease analysis
post-test runs.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 17af34fd19)
enabled by default. Running regular nosetests with plugins other than
marvin will fail because of this. Failure manifests itself as nose
looking for the config file when using the marivn-nose plugin
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Use codegenerator to sync marvin cloudstackAPIs from a given cloudstack
endpoint. Sometimes you want to synchronize marvin with the new APIs
that you have introduced locally or any alterations you may have made
the API. In such cases you can sync marvin's libraries as follows.
$sudo mvn -Pdeveloper,marvin.sync -Dendpoint=localhost -pl :cloud-marvin
This needs sudo privileges since it will call on pip to upgrade the existing
marvin installation on your machine. The endpoint is where your management
server is running and is exposing the API discovery plugin. A listApis call is
made and the resulting json deserialized back into marvin's library entities.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
API discovery plugin will return embedded entities for marvin to
discovery and generate it's API classes.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
The getUserApiClient attribute in cloudstackTestClient provides a user level
api client that executes all API calls with permissions of a given user instead
of the default admin
Detail: Integration tests use these libraries (base,utils,common) for
simplifying the usage of the API. These define the verbs of each
entity's usage (create, delete, add etc). For the CLI to present the
simplified API we'll leverage the integration libraries.
+ Fixes to setup-test-data.sh - kvm and xen each use a different version
of the built-in Cent OS template, 5.5 and 5.3 namely.
At a later point the setup-test-data script needs to be obsoleted.
ostypeids in tests should directly be determined from listOsTypes API
calls
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351520707 +0530
Detail:
Sometimes tests need ssh access to the management server to perform
verification such as:
1. Pings from mgmt_server to agents
2. snapshots exist on secondary storage - mountable from mgmt server
For these the tests will need access to the config of the deployment and
the ip address of the mgmt server.
Egs: integration/component/test_egress.py and integration/component/test_snapshots.py
BUG-ID : CLOUDSTACK-377
Reported-by: Prasanna Santhanam
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350624903 +0530
* setup.py is the installer for marvin-nose plugin
* marvin-nose drive all tests using nose with other plugins like xunit, coverage, multiprocess execution etc
* -n option deprecated. All tests driven by nosetests --with-marvin
Using this plugin Nose will drive tests and this also allows using other
nose plugins. Cmd Line plugin support to be added
Conflicts:
tools/marvin/marvin/NoseTestExecuteEngine.py