Adds coverage reports for C and C++.
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index a3bed4e..5120f6c 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -175,6 +175,12 @@
def build_steps(self):
return []
+ def post_tests_steps(self):
+ if self.platform == 'windows':
+ return []
+ else:
+ return [['tools/run_tests/post_tests_c.sh']]
+
def makefile_name(self):
return 'Makefile'
@@ -199,6 +205,9 @@
def build_steps(self):
return [['tools/run_tests/build_node.sh']]
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -224,6 +233,9 @@
def build_steps(self):
return [['tools/run_tests/build_php.sh']]
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -270,6 +282,9 @@
do_newline=True)
return commands
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -295,6 +310,9 @@
def build_steps(self):
return [['tools/run_tests/build_ruby.sh']]
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -343,6 +361,9 @@
else:
return [['tools/run_tests/build_csharp.sh']]
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -368,6 +389,9 @@
def build_steps(self):
return [['src/objective-c/tests/build_tests.sh']]
+ def post_tests_steps(self):
+ return []
+
def makefile_name(self):
return 'Makefile'
@@ -631,6 +655,11 @@
for l in languages
for cmdline in l.build_steps()))
+post_tests_steps = list(set(
+ jobset.JobSpec(cmdline, environ={'CONFIG': cfg})
+ for cfg in build_configs
+ for l in languages
+ for cmdline in l.post_tests_steps()))
runs_per_test = args.runs_per_test
forever = args.forever
@@ -788,6 +817,10 @@
tree = ET.ElementTree(root)
tree.write(xml_report, encoding='UTF-8')
+ if not jobset.run(post_tests_steps, maxjobs=1, stop_on_failure=True,
+ newline_on_success=newline_on_success, travis=travis):
+ return 3
+
if cache: cache.save()
return 0