qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Kevin Wolf <kwolf@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] iotests: clean up resources using context managers
Date: Thu, 24 Aug 2017 16:38:43 +0800	[thread overview]
Message-ID: <20170824083843.GB1866@lemon> (raw)
In-Reply-To: <20170824072202.26818-1-stefanha@redhat.com>

On Thu, 08/24 08:21, Stefan Hajnoczi wrote:
> Tests should declare resources upfront in a with statement.  Resources are
> automatically cleaned up whether the test passes or fails:
> 
>   with FilePath('test.img') as img_path,
>        VM() as vm:
>       ...test...
>   # img_path is deleted and vm is shut down automatically

Looks good but still requires test writers to learn and remember to use FilePath
and with.  These are still boilerplates.  Here goes my personal oppinion, so may
not be plausible:

- For VM() maybe add an atexit in the launch() method also makes sure the VM is
  eventually terminated.

  This means vm.shutdown() is still needed in tearDown() if there are multiple
  test methods and each of them expects a clean state, but that is probably
  still less typing (and also indenting) than the with approach, and also easy
  to remember (otherwise a test will fail).

- For scratch how about adding atexit in iotests.main to clean up everything in
  the scratch directory? The rationale is similar to above.

Fam

  parent reply	other threads:[~2017-08-24  8:38 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-24  7:21 [Qemu-devel] [PATCH 0/3] iotests: clean up resources using context managers Stefan Hajnoczi
2017-08-24  7:22 ` [Qemu-devel] [PATCH 1/3] qemu.py: make VM() a context manager Stefan Hajnoczi
2017-08-25 12:44   ` Eduardo Habkost
2017-08-24  7:22 ` [Qemu-devel] [PATCH 2/3] iotests.py: add FilePath " Stefan Hajnoczi
2017-08-24  7:22 ` [Qemu-devel] [PATCH 3/3] qemu-iotests: use context managers for resource cleanup in 194 Stefan Hajnoczi
2017-08-24  8:38 ` Fam Zheng [this message]
2017-08-24 18:04   ` [Qemu-devel] [PATCH 0/3] iotests: clean up resources using context managers Stefan Hajnoczi
2017-08-25  7:32     ` Fam Zheng
2017-08-25  8:52       ` Stefan Hajnoczi
2017-08-25  9:29         ` Fam Zheng
2017-08-30 12:44           ` Stefan Hajnoczi
2017-08-30 12:54             ` Fam Zheng
2017-08-28 10:55         ` Markus Armbruster
2017-08-31 11:26 ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170824083843.GB1866@lemon \
    --to=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).