mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-09 05:56:58 +02:00
This is a script to run client or server autotests on a live Chromium OS instance, collect results, and optionally upload the to an autotest database. This includes functional and performance tests. We assume the remote instance is running an appropriate image installed (one created using mod_image_for_test.sh and possibly installed using image_to_live.sh). An example run might be run_remote_tests.sh --remote=192.168.1.5 BootPerfServer -o results.txt This example will run src/platform/testing/server_tests/system_BootPerfServer 5 times on instance at 192.168.1.5 and collect results in result.txt. Also refactors and improves readability in image_to_live.sh. Review URL: http://codereview.chromium.org/519041
49 lines
1.4 KiB
Bash
49 lines
1.4 KiB
Bash
# Copyright (c) 2009 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.
|
|
|
|
# Library for setting up remote access and running remote commands.
|
|
|
|
DEFAULT_PRIVATE_KEY="$SRC_ROOT/platform/testing/testing_rsa"
|
|
|
|
DEFINE_string remote "" "remote hostname/IP of running Chromium OS instance"
|
|
DEFINE_string private_key "$DEFAULT_PRIVATE_KEY" \
|
|
"Private key of root account on remote host"
|
|
|
|
function remote_sh() {
|
|
# Disable strict host checking so that we don't prompt the user when
|
|
# the host key file is removed and just go ahead and add it.
|
|
REMOTE_OUT=$(ssh -o StrictHostKeyChecking=no -o \
|
|
UserKnownHostsFile=$TMP_KNOWN_HOSTS root@$FLAGS_remote "$@")
|
|
return ${PIPESTATUS[0]}
|
|
}
|
|
|
|
function remote_sh_allow_changed_host_key() {
|
|
rm -f $TMP_KNOWN_HOSTS
|
|
remote_sh "$@"
|
|
}
|
|
|
|
function set_up_remote_access() {
|
|
if [ -z "$SSH_AGENT_PID" ]; then
|
|
eval `ssh-agent`
|
|
fi
|
|
cp $FLAGS_private_key $TMP_PRIVATE_KEY
|
|
chmod 0400 $TMP_PRIVATE_KEY
|
|
ssh-add $TMP_PRIVATE_KEY
|
|
|
|
# Verify the client is reachable before continuing
|
|
echo "Initiating first contact with remote host"
|
|
remote_sh "true"
|
|
echo "Connection OK"
|
|
}
|
|
|
|
function remote_access_init() {
|
|
TMP_PRIVATE_KEY=$TMP/private_key
|
|
TMP_KNOWN_HOSTS=$TMP/known_hosts
|
|
if [ -z "$FLAGS_remote" ]; then
|
|
echo "Please specify --remote=<IP-or-hostname> of the Chromium OS instance"
|
|
exit 1
|
|
fi
|
|
set_up_remote_access
|
|
}
|