selftest: Fix the exit code of make test when run in buildfarm
authorAmitay Isaacs <amitay@gmail.com>
Fri, 3 Feb 2012 01:04:32 +0000 (12:04 +1100)
committerAmitay Isaacs <amitay@samba.org>
Fri, 3 Feb 2012 06:00:04 +0000 (07:00 +0100)
When make test is run in buildfarm environment (RUN_FROM_BUILD_FARM=1),
last process in make test pipeline is subunit-filter. This subunit-filter
is responsible for converting failure test result to xfail for known
failures. While converting failures to xfail, it sets exitcode=1. If
this is the last process in the pipeline make test fails, which is
the observed behavior in buildfarm.

In autobuild, there is additional process in the pipeline format-subunit
which processes the output of subunit-filter and correctly terminates
with exit code=0. The buildfarm make test failure is fixed by adding
extra filter-subunit in the pipeline, as the extra filter-subunit
exits correctly with exit code=0.

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Fri Feb  3 07:00:04 CET 2012 on sn-devel-104

selftest/wscript

index 4bd4e665c17d85c1d44e3ea2c20ff1ca228e0237..1bfa9f3d4743ec3296ed34f1de5642410e56a4f5 100644 (file)
@@ -183,6 +183,8 @@ def cmd_testonly(opt):
         if (os.environ.get('RUN_FROM_BUILD_FARM') is None and
             not Options.options.FILTERED_SUBUNIT):
             cmd += ' | tee ${SELFTEST_PREFIX}/subunit | ${FORMAT_TEST_OUTPUT}'
+        else:
+            cmd += ' | ${FILTER_OPTIONS}'
     runcmd = EXPAND_VARIABLES(opt, cmd)
 
     print("test: running %s" % runcmd)