improved C# support in run_tests.py
diff --git a/tools/run_tests/build_csharp.sh b/tools/run_tests/build_csharp.sh
index 8227ad3..546e88d 100755
--- a/tools/run_tests/build_csharp.sh
+++ b/tools/run_tests/build_csharp.sh
@@ -30,9 +30,16 @@
set -ex
+if [ "$CONFIG" = "dbg" ]
+then
+ MSBUILD_CONFIG="Debug"
+else
+ MSBUILD_CONFIG="Release"
+fi
+
# change to gRPC repo root
cd $(dirname $0)/../..
root=`pwd`
-xbuild src/csharp/Grpc.sln
+xbuild /p:Configuration=$MSBUILD_CONFIG src/csharp/Grpc.sln
diff --git a/tools/run_tests/run_csharp.sh b/tools/run_tests/run_csharp.sh
index d10a41a..752e83e 100755
--- a/tools/run_tests/run_csharp.sh
+++ b/tools/run_tests/run_csharp.sh
@@ -30,17 +30,22 @@
set -ex
+CONFIG=${CONFIG:-opt}
+
+if [ "$CONFIG" = "dbg" ]
+then
+ MSBUILD_CONFIG="Debug"
+else
+ MSBUILD_CONFIG="Release"
+fi
+
# change to gRPC repo root
cd $(dirname $0)/../..
root=`pwd`
cd src/csharp
-# TODO: All the tests run pretty fast. In the future, we might need to teach
-# run_tests.py about separate tests to make them run in parallel.
-for assembly_name in Grpc.Core.Tests Grpc.Examples.Tests Grpc.IntegrationTesting
-do
- LD_LIBRARY_PATH=$root/libs/dbg nunit-console -labels $assembly_name/bin/Debug/$assembly_name.dll
-done
+export LD_LIBRARY_PATH=$root/libs/$CONFIG
+nunit-console -labels "$1/bin/$MSBUILD_CONFIG/$1.dll"
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 5165983..50fdec7 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -61,7 +61,7 @@
self.environ = environ
self.environ['CONFIG'] = config
- def job_spec(self, cmdline, hash_targets):
+ def job_spec(self, cmdline, hash_targets, shortname=None):
"""Construct a jobset.JobSpec for a test under this config
Args:
@@ -74,6 +74,7 @@
be listed
"""
return jobset.JobSpec(cmdline=cmdline,
+ shortname=shortname,
environ=self.environ,
hash_targets=hash_targets
if self.allow_hashing else None)
@@ -218,9 +219,13 @@
class CSharpLanguage(object):
-
def test_specs(self, config, travis):
- return [config.job_spec('tools/run_tests/run_csharp.sh', None)]
+ assemblies = ['Grpc.Core.Tests',
+ 'Grpc.Examples.Tests',
+ 'Grpc.IntegrationTesting']
+ return [config.job_spec(['tools/run_tests/run_csharp.sh', assembly],
+ None, shortname=assembly)
+ for assembly in assemblies ]
def make_targets(self):
return ['grpc_csharp_ext']