|
@@ -179,6 +179,12 @@ class CLanguage(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return []
|
|
return []
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ if self.platform == 'windows':
|
|
|
|
+ return []
|
|
|
|
+ else:
|
|
|
|
+ return [['tools/run_tests/post_tests_c.sh']]
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -204,6 +210,9 @@ class NodeLanguage(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return [['tools/run_tests/build_node.sh']]
|
|
return [['tools/run_tests/build_node.sh']]
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -229,6 +238,9 @@ class PhpLanguage(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return [['tools/run_tests/build_php.sh']]
|
|
return [['tools/run_tests/build_php.sh']]
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -276,6 +288,9 @@ class PythonLanguage(object):
|
|
do_newline=True)
|
|
do_newline=True)
|
|
return commands
|
|
return commands
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -301,6 +316,9 @@ class RubyLanguage(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return [['tools/run_tests/build_ruby.sh']]
|
|
return [['tools/run_tests/build_ruby.sh']]
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -349,6 +367,9 @@ class CSharpLanguage(object):
|
|
else:
|
|
else:
|
|
return [['tools/run_tests/build_csharp.sh']]
|
|
return [['tools/run_tests/build_csharp.sh']]
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -374,6 +395,9 @@ class ObjCLanguage(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return [['src/objective-c/tests/build_tests.sh']]
|
|
return [['src/objective-c/tests/build_tests.sh']]
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -399,6 +423,9 @@ class Sanity(object):
|
|
def build_steps(self):
|
|
def build_steps(self):
|
|
return []
|
|
return []
|
|
|
|
|
|
|
|
+ def post_tests_steps(self):
|
|
|
|
+ return []
|
|
|
|
+
|
|
def makefile_name(self):
|
|
def makefile_name(self):
|
|
return 'Makefile'
|
|
return 'Makefile'
|
|
|
|
|
|
@@ -637,6 +664,11 @@ build_steps.extend(set(
|
|
for l in languages
|
|
for l in languages
|
|
for cmdline in l.build_steps()))
|
|
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
|
|
runs_per_test = args.runs_per_test
|
|
forever = args.forever
|
|
forever = args.forever
|
|
|
|
|
|
@@ -821,6 +853,10 @@ def _build_and_run(
|
|
tree = ET.ElementTree(root)
|
|
tree = ET.ElementTree(root)
|
|
tree.write(xml_report, encoding='UTF-8')
|
|
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()
|
|
if cache: cache.save()
|
|
|
|
|
|
return 0
|
|
return 0
|