Build and run per-language containers for interop tests
diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py
index b9ec020..87be703 100755
--- a/tools/run_tests/jobset.py
+++ b/tools/run_tests/jobset.py
@@ -180,6 +180,7 @@
                                    name=self._spec.shortname) if xml_report is not None else None
     self._retries = 0
     self._timeout_retries = 0
+    self._suppress_failure_message = False
     message('START', spec.shortname, do_newline=self._travis)
     self.start()
 
@@ -220,9 +221,10 @@
           self.start()
         else:
           self._state = _FAILURE
-          message('FAILED', '%s [ret=%d, pid=%d]' % (
-              self._spec.shortname, self._process.returncode, self._process.pid),
-              stdout, do_newline=True)
+          if not self._suppress_failure_message:
+            message('FAILED', '%s [ret=%d, pid=%d]' % (
+                self._spec.shortname, self._process.returncode, self._process.pid),
+                stdout, do_newline=True)
           if self._xml_test is not None:
             ET.SubElement(self._xml_test, 'failure', message='Failure').text
       else:
@@ -254,6 +256,9 @@
       self._state = _KILLED
       self._process.terminate()
 
+  def suppress_failure_message(self):
+    self._suppress_failure_message = True
+
 
 class Jobset(object):
   """Manages one run of jobs."""