You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2011/02/02 14:04:59 UTC

svn commit: r1066452 [11/11] - in /subversion/branches/performance: ./ build/ build/ac-macros/ build/generator/ contrib/hook-scripts/ notes/ notes/api-errata/1.7/ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/include/ subver...

Modified: subversion/branches/performance/subversion/tests/svn_test_main.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/subversion/tests/svn_test_main.c?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/subversion/tests/svn_test_main.c (original)
+++ subversion/branches/performance/subversion/tests/svn_test_main.c Wed Feb  2 13:04:51 2011
@@ -68,6 +68,10 @@ static svn_boolean_t cleanup_mode = FALS
 /* Test option: Allow segfaults */
 static svn_boolean_t allow_segfaults = FALSE;
 
+/* Test option: Limit testing to a given mode (i.e. XFail, Skip,
+   Pass, All). */
+enum svn_test_mode_t mode_filter = svn_test_all;
+
 /* Option parsing enums and structures */
 enum {
   cleanup_opt = SVN_OPT_FIRST_LONGOPT_ID,
@@ -78,7 +82,9 @@ enum {
   quiet_opt,
   config_opt,
   server_minor_version_opt,
-  allow_segfault_opt
+  allow_segfault_opt,
+  srcdir_opt,
+  mode_filter_opt
 };
 
 static const apr_getopt_option_t cl_options[] =
@@ -91,6 +97,9 @@ static const apr_getopt_option_t cl_opti
                     N_("specify a filesystem backend type ARG")},
   {"list",          list_opt, 0,
                     N_("lists all the tests with their short description")},
+  {"mode-filter",   mode_filter_opt, 1,
+                    N_("only run/list tests with expected mode ARG = PASS, "
+                       "XFAIL, SKIP, or ALL (default)\n")},
   {"verbose",       verbose_opt, 0,
                     N_("print extra information")},
   {"server-minor-version", server_minor_version_opt, 1,
@@ -102,6 +111,8 @@ static const apr_getopt_option_t cl_opti
                     N_("print only unexpected results")},
   {"allow-segfaults", allow_segfault_opt, 0,
                     N_("don't trap seg faults (useful for debugging)")},
+  {"srcdir",        srcdir_opt, 1,
+                    N_("source directory")},
   {0,               0, 0, 0}
 };
 
@@ -196,12 +207,15 @@ crash_handler(int signum)
 
 
 /* Execute a test number TEST_NUM.  Pretty-print test name and dots
-   according to our test-suite spec, and return the result code. */
+   according to our test-suite spec, and return the result code.
+   If HEADER_MSG and *HEADER_MSG are not NULL, print *HEADER_MSG prior
+   to pretty-printing the test information, then set *HEADER_MSG to NULL. */
 static svn_boolean_t
 do_test_num(const char *progname,
             int test_num,
             svn_boolean_t msg_only,
             svn_test_opts_t *opts,
+            const char **header_msg,
             apr_pool_t *pool)
 {
   svn_boolean_t skip, xfail, wimp;
@@ -210,12 +224,15 @@ do_test_num(const char *progname,
   const char *msg = NULL;  /* the message this individual test prints out */
   const struct svn_test_descriptor_t *desc;
   const int array_size = get_array_size();
+  svn_boolean_t run_this_test; /* This test's mode matches DESC->MODE. */
 
   /* Check our array bounds! */
   if (test_num < 0)
     test_num += array_size + 1;
   if ((test_num > array_size) || (test_num <= 0))
     {
+      if (header_msg && *header_msg)
+        printf("%s", *header_msg);
       printf("FAIL: %s: THERE IS NO TEST NUMBER %2d\n", progname, test_num);
       skip_cleanup = TRUE;
       return TRUE;  /* BAIL, this test number doesn't exist. */
@@ -226,6 +243,13 @@ do_test_num(const char *progname,
   xfail = desc->mode == svn_test_xfail;
   wimp = xfail && desc->wip;
   msg = desc->msg;
+  run_this_test = mode_filter == svn_test_all || mode_filter == desc->mode;
+
+  if (run_this_test && header_msg && *header_msg)
+    {
+      printf("%s", *header_msg);
+      *header_msg = NULL;
+    }
 
   if (!allow_segfaults)
     {
@@ -242,7 +266,7 @@ do_test_num(const char *progname,
   if (setjmp(jump_buffer) == 0)
     {
       /* Do test */
-      if (msg_only || skip)
+      if (msg_only || skip || !run_this_test)
         ; /* pass */
       else if (desc->func2)
         err = (*desc->func2)(pool);
@@ -279,15 +303,16 @@ do_test_num(const char *progname,
 
   if (msg_only)
     {
-      printf(" %2d     %-5s  %s%s%s%s\n",
-             test_num,
-             (xfail ? "XFAIL" : (skip ? "SKIP" : "")),
-             msg ? msg : "(test did not provide name)",
-             (wimp && verbose_mode) ? " [[" : "",
-             (wimp && verbose_mode) ? desc->wip : "",
-             (wimp && verbose_mode) ? "]]" : "");
+      if (run_this_test)
+        printf(" %3d    %-5s  %s%s%s%s\n",
+               test_num,
+               (xfail ? "XFAIL" : (skip ? "SKIP" : "")),
+               msg ? msg : "(test did not provide name)",
+               (wimp && verbose_mode) ? " [[" : "",
+               (wimp && verbose_mode) ? desc->wip : "",
+               (wimp && verbose_mode) ? "]]" : "");
     }
-  else if ((! quiet_mode) || test_failed)
+  else if (run_this_test && ((! quiet_mode) || test_failed))
     {
       printf("%s %s %d: %s%s%s%s\n",
              (err
@@ -404,6 +429,22 @@ main(int argc, const char *argv[])
         case list_opt:
           list_mode = TRUE;
           break;
+        case mode_filter_opt:
+          if (svn_cstring_casecmp(opt_arg, "PASS") == 0)
+            mode_filter = svn_test_pass;
+          else if (svn_cstring_casecmp(opt_arg, "XFAIL") == 0)
+            mode_filter = svn_test_xfail;
+          else if (svn_cstring_casecmp(opt_arg, "SKIP") == 0)
+            mode_filter = svn_test_skip;
+          else if (svn_cstring_casecmp(opt_arg, "ALL") == 0)
+            mode_filter = svn_test_all;
+          else
+            {
+              fprintf(stderr, "FAIL: Invalid --mode-filter option.  Try ");
+              fprintf(stderr, " PASS, XFAIL, SKIP or ALL.\n");
+              exit(1);
+            }
+          break;
         case verbose_opt:
           verbose_mode = TRUE;
           break;
@@ -453,15 +494,16 @@ main(int argc, const char *argv[])
     {
       if (! strcmp(argv[1], "list") || list_mode)
         {
+          const char *header_msg;
           ran_a_test = TRUE;
 
           /* run all tests with MSG_ONLY set to TRUE */
-
-          printf("Test #  Mode   Test Description\n"
-                 "------  -----  ----------------\n");
+          header_msg = "Test #  Mode   Test Description\n"
+                       "------  -----  ----------------\n";
           for (i = 1; i <= array_size; i++)
             {
-              if (do_test_num(prog_name, i, TRUE, &opts, test_pool))
+              if (do_test_num(prog_name, i, TRUE, &opts, &header_msg,
+                              test_pool))
                 got_error = TRUE;
 
               /* Clear the per-function pool */
@@ -481,7 +523,8 @@ main(int argc, const char *argv[])
                     continue;
 
                   ran_a_test = TRUE;
-                  if (do_test_num(prog_name, test_num, FALSE, &opts, test_pool))
+                  if (do_test_num(prog_name, test_num, FALSE, &opts, NULL,
+                                  test_pool))
                     got_error = TRUE;
 
                   /* Clear the per-function pool */
@@ -497,7 +540,7 @@ main(int argc, const char *argv[])
       /* just run all tests */
       for (i = 1; i <= array_size; i++)
         {
-          if (do_test_num(prog_name, i, FALSE, &opts, test_pool))
+          if (do_test_num(prog_name, i, FALSE, &opts, NULL, test_pool))
             got_error = TRUE;
 
           /* Clear the per-function pool */

Modified: subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnbuild.sh
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnbuild.sh?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnbuild.sh (original)
+++ subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnbuild.sh Wed Feb  2 13:04:51 2011
@@ -19,6 +19,7 @@
 #
 #
 
+set -e
 set -x
 
 branch="$(basename $(svn info . | grep ^URL  | cut -d' ' -f2))"

Modified: subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck-bindings.sh
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck-bindings.sh?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck-bindings.sh (original)
+++ subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck-bindings.sh Wed Feb  2 13:04:51 2011
@@ -19,6 +19,7 @@
 #
 #
 
+set -e
 set -x
 
 branch="$(basename $(svn info . | grep ^URL  | cut -d' ' -f2))"

Modified: subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck.sh
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck.sh?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck.sh (original)
+++ subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svncheck.sh Wed Feb  2 13:04:51 2011
@@ -19,6 +19,7 @@
 #
 #
 
+set -e
 set -x
 
 branch="$(basename $(svn info . | grep ^URL  | cut -d' ' -f2))"

Modified: subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnclean.sh
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnclean.sh?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnclean.sh (original)
+++ subversion/branches/performance/tools/buildbot/slaves/svn-openbsd-i386/svnclean.sh Wed Feb  2 13:04:51 2011
@@ -19,6 +19,7 @@
 #
 #
 
+set -e
 set -x
 
 branch="$(basename $(svn info . | grep ^URL  | cut -d' ' -f2))"
@@ -26,5 +27,6 @@ branch="$(basename $(svn info . | grep ^
 for i in 3 4 5 6 7; do
   (test -h ../svn-1.${i}.x || ln -s build ../svn-1.${i}.x)
 done
+svn update ../../unix-build
 (test -h ../GNUmakefile || ln -s ../unix-build/Makefile.svn ../GNUmakefile)
 (cd .. && gmake BRANCH="$branch" reset clean)

Modified: subversion/branches/performance/tools/client-side/bash_completion
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/client-side/bash_completion?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/client-side/bash_completion (original)
+++ subversion/branches/performance/tools/client-side/bash_completion Wed Feb  2 13:04:51 2011
@@ -166,8 +166,8 @@ _svn()
 	cmds="$cmds commit ci copy cp delete remove rm diff export help import"
 	cmds="$cmds info list ls lock log merge mergeinfo mkdir move mv rename"
 	cmds="$cmds patch propdel pdel propedit pedit propget pget proplist"
-	cmds="$cmds plist propset pset resolve resolved revert status switch"
-	cmds="$cmds unlock update"
+	cmds="$cmds plist propset pset relocate resolve resolved revert status"
+	cmds="$cmds  switch unlock update"
 
 	# help options have a strange command status...
 	local helpOpts='--help -h'
@@ -910,6 +910,9 @@ _svn()
 		    cmdOpts="$cmdOpts --revprop $rOpts"
 		[[ $val ]] || cmdOpts="$cmdOpts -F --file"
 		;;
+        relocate)
+		cmdOpts="--ignore-externals"
+		;;
         resolve)
                 cmdOpts="--targets -R --recursive $qOpts $pOpts --accept \
                          --depth"

Modified: subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c (original)
+++ subversion/branches/performance/tools/client-side/svnmucc/svnmucc.c Wed Feb  2 13:04:51 2011
@@ -365,7 +365,7 @@ subtract_anchor(const char *anchor, cons
   if (! strcmp(url, anchor))
     return "";
   else
-    return svn_path_uri_decode(svn_path_is_child(anchor, url, pool), pool);
+    return svn_uri_is_child(anchor, url, pool);
 }
 
 /* Add PATH to the operations tree rooted at OPERATION, creating any

Modified: subversion/branches/performance/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/dev/unix-build/Makefile.svn?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/branches/performance/tools/dev/unix-build/Makefile.svn Wed Feb  2 13:04:51 2011
@@ -2,6 +2,11 @@
 #
 # WARNING: This may or may not work on your system. This Makefile is
 # an example, rather than a ready-made universal solution.
+#
+# Note to Subversion committers:
+# This Makefile is used by the svn-openbsd-i386 buildbot
+# (http://ci.apache.org/builders/svn-openbsd-i386).
+# Please check the bot's health after making changes to this file.
 
 ENABLE_PYTHON_BINDINGS ?= yes
 ENABLE_RUBY_BINDINGS ?= yes
@@ -1050,7 +1055,8 @@ SVNSERVE_START_CMD = $(SVN_PREFIX)/bin/s
 			--listen-host 127.0.0.1 \
 			--pid-file $(PWD)/svnserve-$(WC).pid \
 			-d -r $(svn_builddir)/subversion/tests/cmdline
-SVNSERVE_STOP_CMD = kill `cat $(PWD)/svnserve-$(WC).pid`
+SVNSERVE_STOP_CMD = kill `cat $(PWD)/svnserve-$(WC).pid`; sleep 3; \
+			rm -f $(PWD)/svnserve-$(WC).pid
 
 start-httpd: httpd-conf
 	$(HTTPD_START_CMD)
@@ -1063,6 +1069,10 @@ stop-httpd:
 	$(HTTPD_STOP_CMD)
 
 start-svnserve: $(SVN_OBJDIR)/.compiled
+	-ls $(PWD)/svnserve-*.pid | while read pidfile; do \
+		kill `cat "$$pidfile"`; sleep 3; \
+		rm -f $$pidfile; \
+	done
 	$(SVNSERVE_START_CMD)
 
 stop-svnserve:

Modified: subversion/branches/performance/tools/po/l10n-report.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/tools/po/l10n-report.py?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/tools/po/l10n-report.py (original)
+++ subversion/branches/performance/tools/po/l10n-report.py Wed Feb  2 13:04:51 2011
@@ -40,7 +40,9 @@ import os
 import re
 import subprocess
 
+FROM_ADDRESS = "Subversion Translation Status <no...@subversion.apache.org>"
 LIST_ADDRESS = "dev@subversion.apache.org"
+SUBJECT_TEMPLATE = "[l10n] Translation status report for %s r%s"
 
 def _rev():
   dollar = "$Revision$"
@@ -78,6 +80,8 @@ class l10nReport:
         return stdout, stderr
 
     def match(self, pattern, string):
+        if isinstance(pattern, basestring):
+            pattern = re.compile(pattern)
         match = re.compile(pattern).search(string)
         if match and match.groups():
             return match.group(1)
@@ -162,20 +166,21 @@ def main():
         sys.stderr.flush()
         sys.exit(0)
 
-    wc_version = re.sub('[MS]', '', info_out)
+    wc_version = re.sub('[MS]', '', info_out.strip())
     title = "Translation status report for %s@r%s" % \
                (branch_name, wc_version)
 
     os.chdir(po_dir)
     files = sorted(os.listdir('.'))
-    format_head = "%6s %7s %7s %7s %7s" % ("lang", "trans", "untrans",
+    format_head = "\n%6s %7s %7s %7s %7s" % ("lang", "trans", "untrans",
                    "fuzzy", "obs")
     format_line = "--------------------------------------"
     print("\n%s\n%s\n%s" % (title, format_head, format_line))
 
     body = ""
+    po_pattern = re.compile('(.*).po$')
     for file in files:
-        lang = l10n.match('(.*).po$', file)
+        lang = l10n.match(po_pattern, file)
         if not lang:
             continue
         [trans, untrans, fuzzy, obsolete]  = l10n.get_msgattribs(file)
@@ -186,24 +191,28 @@ def main():
 
     if to_email_id:
         import smtplib
+        # Ensure compatibility of the email module all the way to Python 2.3
+        try:
+            from email.message import Message
+        except ImportError:
+            from email.Message import Message
+
+        msg = Message()
+        msg["From"] = FROM_ADDRESS
+        msg["To"] = to_email_id
+        msg["Subject"] = SUBJECT_TEMPLATE % (branch_name, wc_version)
+        msg["X-Mailer"] = "l10n-report.py r%s" % _rev()
+        msg["Reply-To"] = LIST_ADDRESS
+        msg["Mail-Followup-To"] = LIST_ADDRESS
+        # http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml
+        msg["Auto-Submitted"] = 'auto-generated'
+        msg.set_type("text/plain")
+        msg.set_payload("\n".join((title, format_head, format_line, body)))
 
         server = smtplib.SMTP('localhost')
-        email_from = "From: SVN DEV <no...@subversion.apache.org>"
-        email_to = "To: %s" % to_email_id
-        email_sub = "Subject: [l10n] Translation status report for %s r%s" \
-                     % (branch_name, wc_version)
-        x_headers = "\n".join([
-          "X-Mailer: l10n-report.py r%ld" % _rev(),
-          "Reply-To: %s" % LIST_ADDRESS,
-          "Mail-Followup-To: %s" % LIST_ADDRESS,
-          # http://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml
-          "Auto-Submitted: auto-generated",
-        ]);
-
-        msg = "\n".join((email_from, email_to, email_sub, x_headers,
-                        title, format_head, format_line, body))
-
-        server.sendmail(email_from, email_to, msg)
+        server.sendmail("From: " + FROM_ADDRESS,
+                        "To: " + to_email_id,
+                        msg.as_string())
         print("The report is sent to '%s' email id." % to_email_id)
     else:
         print("\nYou have not passed '-m' option, so email is not sent.")

Modified: subversion/branches/performance/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/performance/win-tests.py?rev=1066452&r1=1066451&r2=1066452&view=diff
==============================================================================
--- subversion/branches/performance/win-tests.py (original)
+++ subversion/branches/performance/win-tests.py Wed Feb  2 13:04:51 2011
@@ -79,6 +79,8 @@ def _usage_exit():
   print("  --http-library         : dav library to use, neon (default) or serf")
   print("  --javahl               : Run the javahl tests instead of the normal tests")
   print("  --list                 : print test doc strings only")
+  print("  --mode-filter=TYPE     : limit tests to expected TYPE = XFAIL, SKIP, PASS,")
+  print("                           or 'ALL' (default)")
   print("  --enable-sasl          : enable Cyrus SASL authentication for")
   print("                           svnserve")
   print("  -p, --parallel         : run multiple tests in parallel")
@@ -87,6 +89,7 @@ def _usage_exit():
   print(" --config-file           : Configuration file for tests")
   print(" --fsfs-sharding         : Specify shard size (for fsfs)")
   print(" --fsfs-packing          : Run 'svnadmin pack' automatically")
+  print(" --log-to-stdout         : Write log results to stdout")
 
   sys.exit(0)
 
@@ -119,7 +122,8 @@ opts, args = my_getopt(sys.argv[1:], 'hr
                         'httpd-server', 'http-library=', 'help',
                         'fsfs-packing', 'fsfs-sharding=', 'javahl',
                         'list', 'enable-sasl', 'bin=', 'parallel',
-                        'config-file=', 'server-minor-version='])
+                        'config-file=', 'server-minor-version=',
+                        'log-to-stdout', 'mode-filter='])
 if len(args) > 1:
   print('Warning: non-option arguments after the first one will be ignored')
 
@@ -144,6 +148,8 @@ fsfs_sharding = None
 fsfs_packing = None
 server_minor_version = None
 config_file = None
+log_to_stdout = None
+mode_filter=None
 tests_to_run = []
 
 for opt, val in opts:
@@ -189,6 +195,8 @@ for opt, val in opts:
     test_javahl = 1
   elif opt == '--list':
     list_tests = 1
+  elif opt == '--mode-filter':
+    mode_filter = val
   elif opt == '--enable-sasl':
     enable_sasl = 1
     base_url = "svn://localhost/"
@@ -200,6 +208,8 @@ for opt, val in opts:
     parallel = 1
   elif opt in ('--config-file'):
     config_file = val
+  elif opt == '--log-to-stdout':
+    log_to_stdout = 1
 
 # Calculate the source and test directory names
 abs_srcdir = os.path.abspath("")
@@ -616,16 +626,19 @@ abs_builddir = fix_case(abs_builddir)
 
 daemon = None
 # Run the tests
-if run_svnserve:
-  daemon = Svnserve(svnserve_args, objdir, abs_objdir, abs_builddir)
 
-if run_httpd:
-  daemon = Httpd(abs_httpd_dir, abs_objdir, abs_builddir, httpd_port,
-                 httpd_service)
-
-# Start service daemon, if any
-if daemon:
-  daemon.start()
+# No need to start any servers if we are only listing the tests.
+if not list_tests:
+  if run_svnserve:
+    daemon = Svnserve(svnserve_args, objdir, abs_objdir, abs_builddir)
+
+  if run_httpd:
+    daemon = Httpd(abs_httpd_dir, abs_objdir, abs_builddir, httpd_port,
+                   httpd_service)
+
+  # Start service daemon, if any
+  if daemon:
+    daemon.start()
 
 # Find the full path and filename of any test that is specified just by
 # its base name.
@@ -653,19 +666,29 @@ else:
   tests_to_run = all_tests
 
 
-print('Testing %s configuration on %s' % (objdir, repo_loc))
+if list_tests:
+  print('Listing %s configuration on %s' % (objdir, repo_loc))
+else:
+  print('Testing %s configuration on %s' % (objdir, repo_loc))
 sys.path.insert(0, os.path.join(abs_srcdir, 'build'))
 
 if not test_javahl:
   import run_tests
+  if log_to_stdout:
+    log_file = None
+    fail_log_file = None
+  else:
+    log_file = os.path.join(abs_builddir, log)
+    fail_log_file = os.path.join(abs_builddir, faillog)
+
   th = run_tests.TestHarness(abs_srcdir, abs_builddir,
-                             os.path.join(abs_builddir, log),
-                             os.path.join(abs_builddir, faillog),
+                             log_file,
+                             fail_log_file,
                              base_url, fs_type, http_library,
                              server_minor_version, not quiet,
                              cleanup, enable_sasl, parallel, config_file,
                              fsfs_sharding, fsfs_packing,
-                             list_tests, svn_bin)
+                             list_tests, svn_bin, mode_filter)
   old_cwd = os.getcwd()
   try:
     os.chdir(abs_builddir)