Index: run_remote_tests.sh |
diff --git a/run_remote_tests.sh b/run_remote_tests.sh |
index 9cb131817297301766619d05a3f71f74b5306d37..b1f71cf3ddf64d9bab1976f69a48c30e53720fff 100755 |
--- a/run_remote_tests.sh |
+++ b/run_remote_tests.sh |
@@ -10,10 +10,17 @@ |
# The path to common.sh should be relative to your script's location. |
. "$(dirname $0)/common.sh" |
-. "$(dirname $0)/remote_access.sh" |
get_default_board |
+DEFAULT_PRIVATE_KEY="${GCLIENT_ROOT}/src/scripts/mod_for_test_scripts/\ |
+ssh_keys/testing_rsa" |
+ |
+DEFINE_string remote "" "remote hostname/IP of running Chromium OS instance" |
petkov
2011/01/13 22:54:45
sort flags
|
+DEFINE_string private_key "$DEFAULT_PRIVATE_KEY" \ |
+ "Private key of root account on remote host" |
+DEFINE_integer ssh_port 22 \ |
+ "SSH port of the remote machine running Chromium OS instance" |
DEFINE_string args "" \ |
"Command line arguments for test. Quoted and space separated if multiple." a |
DEFINE_string board "$DEFAULT_BOARD" \ |
@@ -29,6 +36,45 @@ DEFINE_boolean use_emerged ${FLAGS_FALSE} \ |
RAN_ANY_TESTS=${FLAGS_FALSE} |
+# Ask the target what board it is |
+function learn_board() { |
petkov
2011/01/13 22:54:45
any reason why you're not using the same routine f
|
+ [ -n "${FLAGS_board}" ] && return |
+ FLAGS_board=$(ssh -o StrictHostKeyChecking=no root@${FLAGS_remote} \ |
+ -o UserKnownHostsFile=/dev/null \ |
+ cat /etc/lsb-release | \ |
+ grep CHROMEOS_RELEASE_BOARD | \ |
+ cut -d '=' -f 2) |
+ if [ -z "${FLAGS_board}" ]; then |
+ error "Board required" |
petkov
2011/01/13 22:54:45
this should just use "die"
|
+ exit 1 |
+ fi |
+ info "Target reports board is ${FLAGS_board}" |
+} |
+ |
+function cleanup_remote_access() { |
+ # Call this function from the exit trap of the main script. |
+ # Iff we started ssh-agent, be nice and clean it up. |
+ # Note, only works if called from the main script - no subshells. |
+ if [[ 1 -eq ${OWN_SSH_AGENT} ]] |
+ then |
+ kill ${SSH_AGENT_PID} 2>/dev/null |
+ unset SSH_AGENT_PID SSH_AUTH_SOCK |
+ fi |
+} |
+ |
+function remote_access_init() { |
petkov
2011/01/13 22:54:45
rename to something that makes it clear this is sp
|
+ local tmp_private_key=$TMP/private_key |
+ if [ -z "$SSH_AGENT_PID" ]; then |
+ eval $(ssh-agent) |
+ OWN_SSH_AGENT=1 |
+ else |
+ OWN_SSH_AGENT=0 |
+ fi |
+ cp $FLAGS_private_key $tmp_private_key |
+ chmod 0400 $tmp_private_key |
+ ssh-add $tmp_private_key |
+} |
+ |
function cleanup() { |
# Always remove the build path in case it was used. |
[[ -n "${BUILD_DIR}" ]] && sudo rm -rf "${BUILD_DIR}" |