[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [test-API PATCH] Added screenshot test



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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]