Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Side by Side Diff: client/tests/kvm/kvm_preprocessing.py

Issue 4823005: Merge remote branch 'cros/upstream' into tempbranch (Closed) Base URL: http://git.chromium.org/git/autotest.git@master
Patch Set: patch Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « client/tests/kvm/kvm_monitor.py ('k') | client/tests/kvm/kvm_subprocess.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 import sys, os, time, commands, re, logging, signal, glob, threading, shutil 1 import sys, os, time, commands, re, logging, signal, glob, threading, shutil
2 from autotest_lib.client.bin import test, utils 2 from autotest_lib.client.bin import test, utils
3 from autotest_lib.client.common_lib import error 3 from autotest_lib.client.common_lib import error
4 import kvm_vm, kvm_utils, kvm_subprocess, kvm_monitor, ppm_utils 4 import kvm_vm, kvm_utils, kvm_subprocess, kvm_monitor, ppm_utils
5 try: 5 try:
6 import PIL.Image 6 import PIL.Image
7 except ImportError: 7 except ImportError:
8 logging.warning('No python imaging library installed. PPM image ' 8 logging.warning('No python imaging library installed. PPM image '
9 'conversion to JPEG disabled. In order to enable it, ' 9 'conversion to JPEG disabled. In order to enable it, '
10 'please install python-imaging or the equivalent for your ' 10 'please install python-imaging or the equivalent for your '
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 logging.debug("Preprocessing VM '%s'..." % name) 52 logging.debug("Preprocessing VM '%s'..." % name)
53 vm = kvm_utils.env_get_vm(env, name) 53 vm = kvm_utils.env_get_vm(env, name)
54 if vm: 54 if vm:
55 logging.debug("VM object found in environment") 55 logging.debug("VM object found in environment")
56 else: 56 else:
57 logging.debug("VM object does not exist; creating it") 57 logging.debug("VM object does not exist; creating it")
58 vm = kvm_vm.VM(name, params, test.bindir, env.get("address_cache")) 58 vm = kvm_vm.VM(name, params, test.bindir, env.get("address_cache"))
59 kvm_utils.env_register_vm(env, name, vm) 59 kvm_utils.env_register_vm(env, name, vm)
60 60
61 start_vm = False 61 start_vm = False
62 for_migration = False
63 62
64 if params.get("start_vm_for_migration") == "yes": 63 if params.get("restart_vm") == "yes":
65 logging.debug("'start_vm_for_migration' specified; (re)starting VM "
66 "with -incoming option...")
67 start_vm = True
68 for_migration = True
69 elif params.get("restart_vm") == "yes":
70 logging.debug("'restart_vm' specified; (re)starting VM...") 64 logging.debug("'restart_vm' specified; (re)starting VM...")
71 start_vm = True 65 start_vm = True
72 elif params.get("start_vm") == "yes": 66 elif params.get("start_vm") == "yes":
73 if not vm.is_alive(): 67 if not vm.is_alive():
74 logging.debug("VM is not alive; starting it...") 68 logging.debug("VM is not alive; starting it...")
75 start_vm = True 69 start_vm = True
76 elif vm.make_qemu_command() != vm.make_qemu_command(name, params, 70 elif vm.make_qemu_command() != vm.make_qemu_command(name, params,
77 test.bindir): 71 test.bindir):
78 logging.debug("VM's qemu command differs from requested one; " 72 logging.debug("VM's qemu command differs from requested one; "
79 "restarting it...") 73 "restarting it...")
80 start_vm = True 74 start_vm = True
81 75
82 if start_vm: 76 if start_vm:
83 # Start the VM (or restart it if it's already up) 77 # Start the VM (or restart it if it's already up)
84 if not vm.create(name, params, test.bindir, for_migration): 78 if not vm.create(name, params, test.bindir):
85 raise error.TestError("Could not start VM") 79 raise error.TestError("Could not start VM")
86 else: 80 else:
87 # Don't start the VM, just update its params 81 # Don't start the VM, just update its params
88 vm.params = params 82 vm.params = params
89 83
90 scrdump_filename = os.path.join(test.debugdir, "pre_%s.ppm" % name) 84 scrdump_filename = os.path.join(test.debugdir, "pre_%s.ppm" % name)
91 try: 85 try:
92 if vm.monitor: 86 if vm.monitor:
93 vm.monitor.screendump(scrdump_filename) 87 vm.monitor.screendump(scrdump_filename)
94 except kvm_monitor.MonitorError, e: 88 except kvm_monitor.MonitorError, e:
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 try: 432 try:
439 image = PIL.Image.open(temp_filename) 433 image = PIL.Image.open(temp_filename)
440 image.save(screendump_filename, format="JPEG", quality=quali ty) 434 image.save(screendump_filename, format="JPEG", quality=quali ty)
441 cache[hash] = screendump_filename 435 cache[hash] = screendump_filename
442 except NameError: 436 except NameError:
443 pass 437 pass
444 os.unlink(temp_filename) 438 os.unlink(temp_filename)
445 if _screendump_thread_termination_event.isSet(): 439 if _screendump_thread_termination_event.isSet():
446 break 440 break
447 _screendump_thread_termination_event.wait(delay) 441 _screendump_thread_termination_event.wait(delay)
OLDNEW
« no previous file with comments | « client/tests/kvm/kvm_monitor.py ('k') | client/tests/kvm/kvm_subprocess.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698