cros_run_vm_test: Support for test_that args.

* Support for --private-key
* --test_that-args for test_that passthrough args.
* debug level passed through to test_that.

BUG=chromium:308061
TEST=cros_run_vm_test --debug --test_that-args=--whitelist-chrome-crashes \
--autotest login_Cryptohome
Change-Id: I184058c04a44c7d1f6fbac850fa0ca96b4895da0
Reviewed-on: https://chromium-review.googlesource.com/1176782
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Alex Zamorzaev <zamorzaev@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Alex Zamorzaev <zamorzaev@chromium.org>
diff --git a/scripts/cros_vm.py b/scripts/cros_vm.py
index eb4d87e..7543ae8 100644
--- a/scripts/cros_vm.py
+++ b/scripts/cros_vm.py
@@ -62,7 +62,10 @@
     self.image_format = opts.image_format
     self.board = opts.board
     self.ssh_port = opts.ssh_port
+    self.private_key = opts.private_key
     self.dry_run = opts.dry_run
+    # log_level is only set if --log-level or --debug is specified.
+    self.log_level = getattr(opts, 'log_level', None)
 
     self.start = opts.start
     self.stop = opts.stop
@@ -84,7 +87,8 @@
     self.kvm_serial = '%s.serial' % self.kvm_monitor
 
     self.remote = remote_access.RemoteDevice(remote_access.LOCALHOST,
-                                             port=self.ssh_port)
+                                             port=self.ssh_port,
+                                             private_key=self.private_key)
     self.device_addr = 'ssh://%s:%d' % (remote_access.LOCALHOST, self.ssh_port)
 
     # TODO(achuith): support nographics, snapshot, mem_path, usb_passthrough,
@@ -476,6 +480,7 @@
                         help='Do not display video output.')
     parser.add_argument('--ssh-port', type=int, default=VM.SSH_PORT,
                         help='ssh port to communicate with VM.')
+    parser.add_argument('--private-key', help='Path to ssh private key.')
     sdk_board_env = os.environ.get(cros_chrome_sdk.SDKFetcher.SDK_BOARD_ENV)
     parser.add_argument('--board', default=sdk_board_env, help='Board to use.')
     parser.add_argument('--cache-dir', type=str,