
On 04/04/2012 06:30 PM, Martin Kletzander wrote:
On 04/04/2012 07:13 AM, Guannan Ren wrote:
Hi
Currently, the testcase parser supports to cleanup testing environment after each testcase finished. we only need to add a flag command 'clean' after each testcase in testcase config, for example:
... domain:screenshot guestname rhel6 filename /tmp/filescreen screen 0 clean
domain: start guestname ...
the 'clean' flag will make the framework invoke the function named screenshot_clean in screenshot.py. That means each testcase needs two mandatory functions, one is the main function, the other is main function name with '_clean' appended. So I send a patch for this testcase as an example. According to the above testcase config the '/tmp/filescreen.ppm' file will be removed after running. There are some other flags, I need to update the documentation sooner:)
--- repos/domain/screenshot.py | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/repos/domain/screenshot.py b/repos/domain/screenshot.py index 9986cab..eeda2b5 100644 --- a/repos/domain/screenshot.py +++ b/repos/domain/screenshot.py @@ -55,3 +55,8 @@ def screenshot(params): conn.close()
return ret + +def screenshot_clean(params): + """clean testing environment""" + filename = params['filename'] + os.system('rm -f %s.*' % filename)
The extension can be different every time, so we have to check that. I'd prefer something like this:
diff --git a/repos/domain/screenshot.py b/repos/domain/screenshot.py index 9986cab..c620085 100644 --- a/repos/domain/screenshot.py +++ b/repos/domain/screenshot.py @@ -39,8 +39,8 @@ def screenshot(params): st = conn.newStream(0) mime = dom.screenshot(st, params['screen'], 0)
- ext = mimetypes.guess_extension(mime) or '.ppm' - filename = params['filename'] + ext + params['ext'] = mimetypes.guess_extension(mime) or '.ppm'
This modification on params couldn't be passed in screenshot_clean() The params to screenshot_clean() is the same as the screenshot() which is from testcase config file.
+ filename = params['filename'] + params['ext'] f = file(filename, 'w')
logger.debug('Saving screenshot into %s' % filename) @@ -55,3 +55,8 @@ def screenshot(params): conn.close()
return ret + +def screenshot_clean(params): + """clean testing environment""" + filename = params['filename'] + params['ext'] + os.remove(filename)