flatcar-scripts/bin/cros_run_vm_test
Chris Sosa 33146728ef Add ability to vm library to retry until we can ssh into it.
Change-Id: I4de388bb1af6cd4568cdc154971927941eb73800

BUG=7503
TEST=Ran test by closing vm's as they start up to see retry work.

Review URL: http://codereview.chromium.org/3598019
2010-10-07 15:58:24 -07:00

43 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Runs a given test case under a VM.
. "$(dirname $0)/../common.sh"
. "$(dirname $0)/../lib/cros_vm_lib.sh"
. "$(dirname "$0")/../lib/cros_vm_constants.sh"
MAX_RETRIES=3
DEFINE_string image_path "" "Full path of the VM image"
DEFINE_string test_case "" "Name of the test case to run"
set -e
# Parse command line.
FLAGS "$@" || exit 1
eval set -- "${FLAGS_ARGV}"
# Use latest if not specified.
if [ -z "${FLAGS_image_path}" ]; then
LATEST_IMAGE="$(${SCRIPTS_DIR}/get_latest_image.sh)/${DEFAULT_QEMU_IMAGE}"
info "Using latest vm image ${LATEST_IMAGE}"
FLAGS_image_path=${LATEST_IMAGE}
fi
[ -e "${FLAGS_image_path}" ] || die "Image ${FLAGS_image_path} does not exist."
[ -n "${FLAGS_test_case}" ] || die "You must specify a test case."
trap stop_kvm EXIT
start_kvm "${FLAGS_image_path}"
info "Checking for ssh access to virtual machine."
retry_until_ssh ${MAX_RETRIES}
"$(dirname $0)"/../run_remote_tests.sh \
--ssh_port=${FLAGS_ssh_port} \
--remote=127.0.0.1 \
"${FLAGS_test_case}"