[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Tue Sep 28 01:12:34 MDT 2010


The branch, master has been updated
       via  0688c5b samba4: Don't update Makefile/configure from autogen.sh.
       via  63928c8 ldb/tevent: Fix detection of waf paths.
       via  4752d88 tevent: Remove make targets that are not relevant for tevent.
       via  302423f tevent: Don't update Makefile/configure files.
       via  85443e0 ldb: Update autogen-waf.sh to no longer overwrite existing files.
       via  72a41cc ldb: Remove samba-specific targets from Makefile.
       via  78b4b21 ldb: Bump version because of addition of ldb_req_location.
       via  02f87d1 format-subunit: Display number of failed tests even if there are no failed testsuites.
       via  36ffe4f selftest: Abort early on SIGPIPE.
       via  7ac4a71 Add dedicated exception for immediate failure in filter-subunit, don't raise it on known exceptions.
       via  c12f1a1 s4-selftest: added a --fail-immediately option to s4 test
       via  71f88c4 filter-subunit: added a --fail-immediately option
      from  c7f6ab8 s4-provision: fixed the authority response for our SOA record

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0688c5b2f1b6c34e7f79018007848ad8a477e854
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 09:08:10 2010 +0200

    samba4: Don't update Makefile/configure from autogen.sh.

commit 63928c82c1c5ed2fa3bab30976566a8a393ef8b4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 09:00:26 2010 +0200

    ldb/tevent: Fix detection of waf paths.

commit 4752d88fed66ac07e6704688cc2188e42d216962
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 08:42:26 2010 +0200

    tevent: Remove make targets that are not relevant for tevent.

commit 302423f3062f16f75b3204c1ddf3cf2154f4f224
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 08:41:11 2010 +0200

    tevent: Don't update Makefile/configure files.

commit 85443e0850fc58925ab7d3e7f36e1001b7f4a149
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 08:38:33 2010 +0200

    ldb: Update autogen-waf.sh to no longer overwrite existing files.

commit 72a41cc820dd52699d7e2b33f2dce273d0f246d7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 08:34:10 2010 +0200

    ldb: Remove samba-specific targets from Makefile.

commit 78b4b21b40ba23490581d0bedf4b3208dd13fa13
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 08:15:55 2010 +0200

    ldb: Bump version because of addition of ldb_req_location.

commit 02f87d1c367908fa97be35880260e8c2f6fa04a3
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 07:53:02 2010 +0200

    format-subunit: Display number of failed tests even if there are no
    failed testsuites.

commit 36ffe4f467779cd282ed471f3bed8aee8a7c55bd
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 07:40:27 2010 +0200

    selftest: Abort early on SIGPIPE.

commit 7ac4a710725d1e439179c3846525b3245dc3f5f6
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Sep 28 07:10:43 2010 +0200

    Add dedicated exception for immediate failure in filter-subunit, don't raise it on known exceptions.

commit c12f1a1e912aeca8645b68c0ef720466c13ce8bb
Author: Andrew Tridgell <tridge at samba.org>
Date:   Sun Sep 26 18:58:05 2010 -0700

    s4-selftest: added a --fail-immediately option to s4 test
    
    this can be used to force an immediate test failure on the first
    failed test case. You can also use:
    
      make test FAIL_IMMEDIATELY=1

commit 71f88c45a751e5f72de00dee0628b5c1b6614bf3
Author: Andrew Tridgell <tridge at samba.org>
Date:   Sun Sep 26 18:56:50 2010 -0700

    filter-subunit: added a --fail-immediately option

-----------------------------------------------------------------------

Summary of changes:
 lib/tevent/Makefile            |   12 +++---------
 lib/tevent/autogen-waf.sh      |   12 +++++++++++-
 lib/tevent/autogen.sh          |    2 +-
 lib/tevent/configure           |    9 ++++++++-
 selftest/filter-subunit        |   13 ++++++++++---
 selftest/format-subunit        |    4 +++-
 selftest/selftest.pl           |    8 ++++++++
 selftest/subunithelper.py      |   15 ++++++++++++++-
 source4/autogen-waf.sh         |   12 +++++++++++-
 source4/autogen.sh             |    2 +-
 source4/lib/ldb/Makefile       |   12 +++---------
 source4/lib/ldb/autogen-waf.sh |   12 +++++++++++-
 source4/lib/ldb/autogen.sh     |    2 +-
 source4/lib/ldb/configure      |    9 ++++++++-
 source4/lib/ldb/wscript        |    2 +-
 source4/selftest/wscript       |    7 +++++++
 16 files changed, 101 insertions(+), 32 deletions(-)
 mode change 120000 => 100755 lib/tevent/autogen-waf.sh
 mode change 120000 => 100755 source4/autogen-waf.sh
 mode change 120000 => 100755 source4/lib/ldb/autogen-waf.sh


Changeset truncated at 500 lines:

diff --git a/lib/tevent/Makefile b/lib/tevent/Makefile
index bf19ebe..3f188a9 100644
--- a/lib/tevent/Makefile
+++ b/lib/tevent/Makefile
@@ -1,6 +1,8 @@
 # simple makefile wrapper to run waf
 
-WAF=WAF_MAKE=1 ../../buildtools/bin/waf
+WAFPATH:=$(shell PATH=../../buildtools/bin:buildtools/bin:$(PATH) which waf)
+
+WAF=WAF_MAKE=1 $(WAFPATH)
 
 all:
 	$(WAF) build
@@ -14,12 +16,6 @@ uninstall:
 test:
 	$(WAF) test $(TEST_OPTIONS)
 
-testenv:
-	$(WAF) test --testenv $(TEST_OPTIONS)
-
-quicktest:
-	$(WAF) test --quick $(TEST_OPTIONS)
-
 dist:
 	$(WAF) dist
 
@@ -45,8 +41,6 @@ testsuite: all
 
 check: test
 
-torture: all
-
 # this should do an install as well, once install is finished
 installcheck: test
 
diff --git a/lib/tevent/autogen-waf.sh b/lib/tevent/autogen-waf.sh
deleted file mode 120000
index 99150f3..0000000
--- a/lib/tevent/autogen-waf.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../buildtools/scripts/autogen-waf.sh
\ No newline at end of file
diff --git a/lib/tevent/autogen-waf.sh b/lib/tevent/autogen-waf.sh
new file mode 100755
index 0000000..ee95847
--- /dev/null
+++ b/lib/tevent/autogen-waf.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+p=`dirname $0`
+
+echo "Setting up for waf build"
+
+echo "done. Now run $p/configure or $p/configure.developer then make."
+if [ $p != "." ]; then
+	echo "Notice: The build invoke path is not the main directory! Use make with the parameter"
+	echo "-C $p. Example: make -C $p all"
+fi
diff --git a/lib/tevent/autogen.sh b/lib/tevent/autogen.sh
index 99150f3..a229cc9 120000
--- a/lib/tevent/autogen.sh
+++ b/lib/tevent/autogen.sh
@@ -1 +1 @@
-../../buildtools/scripts/autogen-waf.sh
\ No newline at end of file
+autogen-waf.sh
\ No newline at end of file
diff --git a/lib/tevent/configure b/lib/tevent/configure
index 2d4aec7..15ad1a5 100755
--- a/lib/tevent/configure
+++ b/lib/tevent/configure
@@ -2,7 +2,14 @@
 
 PREVPATH=`dirname $0`
 
-WAF=../../buildtools/bin/waf
+if [ -f $PREVPATH/../../buildtools/bin/waf ]; then
+	WAF=../../buildtools/bin/waf
+elif [ -f $PREVPATH/buildtools/bin/waf ]; then
+	WAF=./buildtools/bin/waf
+else
+	echo "tevent: Unable to find waf"
+	exit 1
+fi
 
 # using JOBS=1 gives maximum compatibility with
 # systems like AIX which have broken threading in python
diff --git a/selftest/filter-subunit b/selftest/filter-subunit
index f5ab660..872d07f 100755
--- a/selftest/filter-subunit
+++ b/selftest/filter-subunit
@@ -19,6 +19,8 @@ parser.add_option("--expected-failures", type="string",
 	     "failures")
 parser.add_option("--strip-passed-output", action="store_true", 
     help="Whether to strip output from tests that passed")
+parser.add_option("--fail-immediately", action="store_true", 
+    help="Whether to stop on the first error", default=False)
 
 parser.add_option("--prefix", type="string",
 	help="Add prefix to all test names")
@@ -45,6 +47,11 @@ signal.signal(signal.SIGINT, handle_sigint)
 
 out = subunithelper.SubunitOps(sys.stdout)
 msg_ops = subunithelper.FilterOps(out, opts.prefix, expected_failures,
-	opts.strip_passed_output)
-
-sys.exit(subunithelper.parse_results(msg_ops, statistics, sys.stdin))
+				  opts.strip_passed_output,
+				  fail_immediately=opts.fail_immediately)
+
+try:
+	sys.exit(subunithelper.parse_results(msg_ops, statistics, sys.stdin))
+except subunithelper.ImmediateFail:
+	sys.stdout.flush()
+	sys.exit(1)
diff --git a/selftest/format-subunit b/selftest/format-subunit
index 0d16032..2661045 100755
--- a/selftest/format-subunit
+++ b/selftest/format-subunit
@@ -200,7 +200,9 @@ class PlainFormatter(subunithelper.TestsuiteEnabledTestResult):
         print "\nA summary with detailed information can be found in:"
         print "  %s" % self.summaryfile
 
-        if not self.suitesfailed:
+        if (not self.suitesfailed and
+            not self.statistics['TESTS_UNEXPECTED_FAIL'] and
+            not self.statistics['TESTS_ERROR']):
             ok = (self.statistics['TESTS_EXPECTED_OK'] +
                   self.statistics['TESTS_EXPECTED_FAIL'])
             print "\nALL OK (%d tests in %d testsuites)" % (ok, self.suites_ok)
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index 2680b6a..33af5e2 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -166,6 +166,14 @@ my $prefix = "./st";
 my @includes = ();
 my @excludes = ();
 
+sub pipe_handler {
+	my $sig = shift @_;
+	print STDERR "Exiting early because of SIGPIPE.\n";
+	exit(1);
+}
+
+$SIG{PIPE} = \&pipe_handler;
+
 sub find_in_list($$)
 {
 	my ($list, $fullname) = @_;
diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py
index 2a5d9ec..163f2ba 100644
--- a/selftest/subunithelper.py
+++ b/selftest/subunithelper.py
@@ -222,6 +222,13 @@ def find_in_list(regexes, fullname):
     return None
 
 
+class ImmediateFail(Exception):
+    """Raised to abort immediately."""
+
+    def __init__(self):
+        super(ImmediateFail, self).__init__("test failed and fail_immediately set")
+
+
 class FilterOps(testtools.testresult.TestResult):
 
     def control_msg(self, msg):
@@ -258,6 +265,8 @@ class FilterOps(testtools.testresult.TestResult):
         self.total_error+=1
         self._ops.addError(test, details)
         self.output = None
+        if self.fail_immediately:
+            raise ImmediateFail()
 
     def addSkip(self, test, details=None):
         test = self._add_prefix(test)
@@ -286,6 +295,8 @@ class FilterOps(testtools.testresult.TestResult):
             self._ops.addFailure(test, details)
             if self.output:
                 self._ops.output_msg(self.output)
+            if self.fail_immediately:
+                raise ImmediateFail()
         self.output = None
 
     def addSuccess(self, test, details=None):
@@ -327,7 +338,7 @@ class FilterOps(testtools.testresult.TestResult):
 
         self._ops.end_testsuite(name, result, reason)
 
-    def __init__(self, out, prefix, expected_failures, strip_ok_output):
+    def __init__(self, out, prefix, expected_failures, strip_ok_output, fail_immediately=False):
         self._ops = out
         self.output = None
         self.prefix = prefix
@@ -339,3 +350,5 @@ class FilterOps(testtools.testresult.TestResult):
         self.total_error = 0
         self.total_fail = 0
         self.error_added = 0
+        self.fail_immediately = fail_immediately
+        
diff --git a/source4/autogen-waf.sh b/source4/autogen-waf.sh
deleted file mode 120000
index 5347ab2..0000000
--- a/source4/autogen-waf.sh
+++ /dev/null
@@ -1 +0,0 @@
-autogen.sh
\ No newline at end of file
diff --git a/source4/autogen-waf.sh b/source4/autogen-waf.sh
new file mode 100755
index 0000000..6541688
--- /dev/null
+++ b/source4/autogen-waf.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+p=`dirname $0`
+
+echo "Setting up for waf build"
+
+echo "done. Now run $p/configure or $p/configure.developer then make."
+if [ $p != "." ]; then
+	echo "Notice: The build invoke path is not 'source4'! Use make with the parameter"
+	echo "-C $p. Example: make -C $p all"
+fi
diff --git a/source4/autogen.sh b/source4/autogen.sh
index 153637b..a229cc9 120000
--- a/source4/autogen.sh
+++ b/source4/autogen.sh
@@ -1 +1 @@
-../buildtools/scripts/autogen-waf.sh
\ No newline at end of file
+autogen-waf.sh
\ No newline at end of file
diff --git a/source4/lib/ldb/Makefile b/source4/lib/ldb/Makefile
index dbd5e2b..3f188a9 100644
--- a/source4/lib/ldb/Makefile
+++ b/source4/lib/ldb/Makefile
@@ -1,6 +1,8 @@
 # simple makefile wrapper to run waf
 
-WAF=WAF_MAKE=1 ../../../buildtools/bin/waf
+WAFPATH:=$(shell PATH=../../buildtools/bin:buildtools/bin:$(PATH) which waf)
+
+WAF=WAF_MAKE=1 $(WAFPATH)
 
 all:
 	$(WAF) build
@@ -14,12 +16,6 @@ uninstall:
 test:
 	$(WAF) test $(TEST_OPTIONS)
 
-testenv:
-	$(WAF) test --testenv $(TEST_OPTIONS)
-
-quicktest:
-	$(WAF) test --quick $(TEST_OPTIONS)
-
 dist:
 	$(WAF) dist
 
@@ -45,8 +41,6 @@ testsuite: all
 
 check: test
 
-torture: all
-
 # this should do an install as well, once install is finished
 installcheck: test
 
diff --git a/source4/lib/ldb/autogen-waf.sh b/source4/lib/ldb/autogen-waf.sh
deleted file mode 120000
index 672a86b..0000000
--- a/source4/lib/ldb/autogen-waf.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../buildtools/scripts/autogen-waf.sh
\ No newline at end of file
diff --git a/source4/lib/ldb/autogen-waf.sh b/source4/lib/ldb/autogen-waf.sh
new file mode 100755
index 0000000..4465b32
--- /dev/null
+++ b/source4/lib/ldb/autogen-waf.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+p=`dirname $0`
+
+echo "Setting up for waf build"
+
+echo "done. Now run $p/configure or $p/configure.developer then make."
+if [ $p != "." ]; then
+	echo "Notice: The build invoke path is not the base directory! Use make with the parameter"
+	echo "-C $p. Example: make -C $p0 all"
+fi
diff --git a/source4/lib/ldb/autogen.sh b/source4/lib/ldb/autogen.sh
index 672a86b..a229cc9 120000
--- a/source4/lib/ldb/autogen.sh
+++ b/source4/lib/ldb/autogen.sh
@@ -1 +1 @@
-../../../buildtools/scripts/autogen-waf.sh
\ No newline at end of file
+autogen-waf.sh
\ No newline at end of file
diff --git a/source4/lib/ldb/configure b/source4/lib/ldb/configure
index 50ff475..137a26b 100755
--- a/source4/lib/ldb/configure
+++ b/source4/lib/ldb/configure
@@ -2,7 +2,14 @@
 
 PREVPATH=`dirname $0`
 
-WAF=../../../buildtools/bin/waf
+if [ -f $PREVPATH/../../../buildtools/bin/waf ]; then
+	WAF=../../../buildtools/bin/waf
+elif [ -f $PREVPATH/buildtools/bin/waf ]; then
+	WAF=./buildtools/bin/waf
+else
+	echo "ldb: Unable to find waf"
+	exit 1
+fi
 
 # using JOBS=1 gives maximum compatibility with
 # systems like AIX which have broken threading in python
diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript
index 9819dd9..2916666 100644
--- a/source4/lib/ldb/wscript
+++ b/source4/lib/ldb/wscript
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 APPNAME = 'ldb'
-VERSION = '0.9.13'
+VERSION = '0.9.14'
 
 blddir = 'bin'
 
diff --git a/source4/selftest/wscript b/source4/selftest/wscript
index d07ae0f..58cddb4 100644
--- a/source4/selftest/wscript
+++ b/source4/selftest/wscript
@@ -51,6 +51,9 @@ def set_options(opt):
     gr.add_option('--gdbtest',
                   help=("run the testsuite within a gdb xterm window"),
                   action="store_true", dest='GDBTEST', default=False)
+    gr.add_option('--fail-immediately',
+                  help=("stop tests on first failure"),
+                  action="store_true", dest='FAIL_IMMEDIATELY', default=False)
     gr.add_option('--socket-wrapper-pcap',
                   help=("create a pcap file for each failing test"),
                   action="store_true", dest='SOCKET_WRAPPER_PCAP', default=False)
@@ -76,6 +79,10 @@ def cmd_testonly(opt):
 
     env.SUBUNIT_FORMATTER = '${PYTHON} -u ../selftest/format-subunit --prefix=${SELFTEST_PREFIX} --immediate'
     env.FILTER_XFAIL = '${PYTHON} -u ../selftest/filter-subunit --expected-failures=./selftest/knownfail'
+
+    if Options.options.FAIL_IMMEDIATELY:
+        env.FILTER_XFAIL += ' --fail-immediately'
+
     env.FORMAT_TEST_OUTPUT = '${SUBUNIT_FORMATTER}'
 
     env.OPTIONS = ''


-- 
Samba Shared Repository


More information about the samba-cvs mailing list