Skip to content
Snippets Groups Projects
Commit 2de47cba authored by Jan Tattermusch's avatar Jan Tattermusch
Browse files

enable running windows perf tests

parent c280b568
No related branches found
No related tags found
No related merge requests found
...@@ -37,10 +37,14 @@ CONFIG=${CONFIG:-opt} ...@@ -37,10 +37,14 @@ CONFIG=${CONFIG:-opt}
# build C++ qps worker & driver always - we need at least the driver to # build C++ qps worker & driver always - we need at least the driver to
# run any of the scenarios. # run any of the scenarios.
# TODO(jtattermusch): not embedding OpenSSL breaks the C# build because # TODO(jtattermusch): C++ worker and driver are not buildable on Windows yet
# grpc_csharp_ext needs OpenSSL embedded and some intermediate files from if [ "$OSTYPE" != "msys" ]
# this build will be reused. then
make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8 # TODO(jtattermusch): not embedding OpenSSL breaks the C# build because
# grpc_csharp_ext needs OpenSSL embedded and some intermediate files from
# this build will be reused.
make CONFIG=${CONFIG} EMBED_OPENSSL=true EMBED_ZLIB=true qps_worker qps_json_driver -j8
fi
for language in $@ for language in $@
do do
...@@ -55,10 +59,10 @@ do ...@@ -55,10 +59,10 @@ do
tools/run_tests/performance/build_performance_go.sh tools/run_tests/performance/build_performance_go.sh
;; ;;
"csharp") "csharp")
tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 --compiler coreclr
;; ;;
*) *)
tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8 python tools/run_tests/run_tests.py -l $language -c $CONFIG --build_only -j 8
;; ;;
esac esac
done done
...@@ -32,18 +32,23 @@ set -ex ...@@ -32,18 +32,23 @@ set -ex
cd $(dirname $0)/../../.. cd $(dirname $0)/../../..
# cleanup after previous builds
ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace"
# TODO(jtattermusch): To be sure there are no running processes that would # TODO(jtattermusch): To be sure there are no running processes that would
# mess with the results, be rough and reboot the slave here # mess with the results, be rough and reboot the slave here
# and wait for it to come back online. # and wait for it to come back online.
# could also kill jenkins. ssh "${USER_AT_HOST}" "killall -9 qps_worker dotnet mono node ruby worker || true"
ssh "${USER_AT_HOST}" "killall -9 qps_worker mono node ruby worker || true"
# On Windows, killall is not supported & we need to kill all pending workers
# before attempting to delete the workspace
ssh "${USER_AT_HOST}" "ps -e | egrep 'qps_worker|dotnet' | awk '{print $1}' | xargs kill -9 || true"
# cleanup after previous builds
ssh "${USER_AT_HOST}" "rm -rf ~/performance_workspace && mkdir -p ~/performance_workspace"
# push the current sources to the slave and unpack it. # push the current sources to the slave and unpack it.
scp ../grpc.tar "${USER_AT_HOST}:~/performance_workspace" scp ../grpc.tar "${USER_AT_HOST}:~/performance_workspace"
ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace" # Windows workaround: attempt to untar twice, first run is going to fail
# with symlink creation error(s).
ssh "${USER_AT_HOST}" "tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace || tar -xf ~/performance_workspace/grpc.tar -C ~/performance_workspace"
# For consistency with local run, invoke the kill_workers script remotely. # For consistency with local run, invoke the kill_workers script remotely.
ssh "${USER_AT_HOST}" "~/performance_workspace/grpc/tools/run_tests/performance/kill_workers.sh" ssh "${USER_AT_HOST}" "~/performance_workspace/grpc/tools/run_tests/performance/kill_workers.sh"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment