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