Modifying after review comments.

pull/972/head
Donna Dionne 10 years ago
parent 7167f895f9
commit 679c2539a1
  1. 103
      tools/gce_setup/grpc_docker.sh

@ -731,6 +731,44 @@ grpc_launch_servers() {
done
}
# Runs a test command on a docker instance
#
# The test command is issued via gcloud compute
#
# There are 3 possible results:
# 1. successful return code and finished within 60 seconds
# 2. failure return code and finished within 60 seconds
# 3. command does not return within 60 seconds, in which case it will be killed.
test_runner() {
local project_opt="--project $grpc_project"
local zone_opt="--zone $grpc_zone"
local ssh_cmd="bash -l -c \"$cmd\""
echo "will run:"
echo " $ssh_cmd"
echo "on $host"
[[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run
gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" &
PID=$!
echo "pid is $PID"
for x in {0..5}
do
if ps -p $PID
then
# test command has not returned and 60 seconds timeout has not reached
sleep 10
else
# test command has returned, return the return code from the test command
wait $PID
local ret=$?
echo " test runner return $ret before timeout"
return $ret
fi
done
kill $PID
echo "test got killed by timeout return as failure"
return 1
}
# Runs a test command on a docker instance.
#
# call-seq:
@ -790,33 +828,7 @@ grpc_interop_test() {
cmd=$($grpc_gen_test_cmd $flags)
[[ -n $cmd ]] || return 1
local project_opt="--project $grpc_project"
local zone_opt="--zone $grpc_zone"
local ssh_cmd="bash -l -c \"$cmd\""
echo "will run:"
echo " $ssh_cmd"
echo "on $host"
[[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run
gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" &
PID=$!
echo "pid is $PID"
for x in {0..5}
do
if ps -p $PID
then
sleep 10
else
echo "normal return before timeout"
# looks like the test is done
wait $PID
local ret=$?
echo " return $ret"
return $ret
fi
done
kill $PID
echo "got killed by timeout not normal"
return 1
test_runner
}
# Runs a test command on a docker instance.
@ -855,33 +867,7 @@ grpc_cloud_prod_test() {
cmd=$($grpc_gen_test_cmd $test_case_flag)
[[ -n $cmd ]] || return 1
local project_opt="--project $grpc_project"
local zone_opt="--zone $grpc_zone"
local ssh_cmd="bash -l -c \"$cmd\""
echo "will run:"
echo " $ssh_cmd"
echo "on $host"
[[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run
gcloud compute $project_opt ssh $zone_opt $host --command "$cmd" &
PID=$!
echo "pid is $PID"
for x in {0..5}
do
if ps -p $PID
then
sleep 10
else
echo "normal return before timeout"
# looks like the test is done
wait $PID
local ret=$?
echo " return $ret"
return $ret
fi
done
kill $PID
echo "got killed by timeout not normal"
return 1
test_runner
}
# Runs a test command on a docker instance.
@ -920,14 +906,7 @@ grpc_cloud_prod_auth_test() {
cmd=$($grpc_gen_test_cmd $test_case_flag)
[[ -n $cmd ]] || return 1
local project_opt="--project $grpc_project"
local zone_opt="--zone $grpc_zone"
local ssh_cmd="bash -l -c \"$cmd\""
echo "will run:"
echo " $ssh_cmd"
echo "on $host"
[[ $dry_run == 1 ]] && return 0 # don't run the command on a dry run
gcloud compute $project_opt ssh $zone_opt $host --command "$cmd"
test_runner
}
# constructs the full dockerized ruby interop test cmd.

Loading…
Cancel
Save