[libvirt] [test-API PATCH] Added screenshot test
Guannan Ren
gren at redhat.com
Wed Apr 4 11:23:27 UTC 2012
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)
More information about the libvir-list
mailing list