[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Tue Oct 5 15:56:01 MDT 2010


The branch, master has been updated
       via  46b4fe0 heimdal-build: Require com_err library to provide com_right_r function.
       via  a228879 land: Fix stage description during failure.
       via  47d1c49 land: Print out failed test in case of subunit failures.
      from  95c6c9b heimdal-com_err: fix the build for systems with older 'com_err' library

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


- Log -----------------------------------------------------------------
commit 46b4fe0c48cb045db0a372cf89d2b0da79e44bac
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Oct 5 17:15:14 2010 +0200

    heimdal-build: Require com_err library to provide com_right_r function.

commit a2288799039e570a0e647db1b3488314265819aa
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Oct 5 12:43:09 2010 +0200

    land: Fix stage description during failure.

commit 47d1c496084fd0974e20bc6c0694456f71391f8a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Oct 5 12:39:30 2010 +0200

    land: Print out failed test in case of subunit failures.

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

Summary of changes:
 script/land.py                          |   35 +++++++++++++++++++++++++++---
 source4/heimdal_build/wscript_configure |    2 +-
 2 files changed, 32 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/script/land.py b/script/land.py
index e04cd3a..6b25134 100755
--- a/script/land.py
+++ b/script/land.py
@@ -147,7 +147,7 @@ class TreeStageBuilder(object):
 
     @property
     def failure_reason(self):
-        return "failed '%s' with exit code %d" % (self.command, self.exitcode)
+        raise NotImplementedError(self.failure_reason)
 
     @property
     def failed(self):
@@ -162,6 +162,10 @@ class PlainTreeStageBuilder(TreeStageBuilder):
                           stdout=self.tree.stdout, stderr=self.tree.stderr,
                           stdin=self.stdin)
 
+    @property
+    def failure_reason(self):
+        return "failed '%s' with exit code %d" % (self.command, self.exitcode)
+
 
 class AbortingTestResult(subunithelper.TestsuiteEnabledTestResult):
 
@@ -176,12 +180,27 @@ class AbortingTestResult(subunithelper.TestsuiteEnabledTestResult):
         self.stage.proc.terminate()
 
 
+class FailureTrackingTestResult(subunithelper.TestsuiteEnabledTestResult):
+
+    def __init__(self, stage):
+        super(FailureTrackingTestResult, self).__init__()
+        self.stage = stage
+
+    def addError(self, test, details=None):
+        if self.stage.failed_test is None:
+            self.stage.failed_test = ("error", test)
+
+    def addFailure(self, test, details=None):
+        if self.stage.failed_test is None:
+            self.stage.failed_test = ("failure", test)
+
+
 class SubunitTreeStageBuilder(TreeStageBuilder):
 
     def __init__(self, tree, name, command, fail_quickly=False):
         super(SubunitTreeStageBuilder, self).__init__(tree, name, command,
                 fail_quickly)
-        self.failed_tests = []
+        self.failed_test = None
         self.subunit_path = os.path.join(gitroot,
             "%s.%s.subunit" % (self.tree.tag, self.name))
         self.tree.logfiles.append(
@@ -190,7 +209,8 @@ class SubunitTreeStageBuilder(TreeStageBuilder):
         self.subunit = open(self.subunit_path, 'w')
 
         formatter = subunithelper.PlainFormatter(False, True, {})
-        clients = [formatter, subunit.TestProtocolClient(self.subunit)]
+        clients = [formatter, subunit.TestProtocolClient(self.subunit),
+                   FailureTrackingTestResult(self)]
         if fail_quickly:
             clients.append(AbortingTestResult(self))
         self.subunit_server = subunit.TestProtocolServer(
@@ -225,6 +245,13 @@ class SubunitTreeStageBuilder(TreeStageBuilder):
                 self.subunit.close()
             return self.exitcode
 
+    @property
+    def failure_reason(self):
+        if self.failed_test:
+            return "failed '%s' with %s in test %s" (self.command, self.failed_test[0], self.failed_test[1])
+        else:
+            return "failed '%s' with exit code %d in unknown test" % (self.command, self.exitcode)
+
 
 class TreeBuilder(object):
     '''handle build of one directory'''
@@ -554,7 +581,7 @@ The top commit for the tree that was built was:
 
     msg = MIMEMultipart()
     msg['Subject'] = 'autobuild failure for task %s during %s' % (
-        failed_task, failed_stage)
+        failed_task, failed_stage.name)
     msg['From'] = 'autobuild at samba.org'
     msg['To'] = options.email
 
diff --git a/source4/heimdal_build/wscript_configure b/source4/heimdal_build/wscript_configure
index 8a5ac93..e8f258c 100644
--- a/source4/heimdal_build/wscript_configure
+++ b/source4/heimdal_build/wscript_configure
@@ -60,7 +60,7 @@ conf.CHECK_STRUCTURE_MEMBER('DIR', 'dd_fd', define='HAVE_DIR_DD_FD',  headers='d
 
 conf.DEFINE('SAMBA4_INTERNAL_HEIMDAL', 1)
 
-if conf.CHECK_BUNDLED_SYSTEM('com_err',  minversion='1.41.11', checkfunctions='com_err com_right_r', headers='com_err.h com_right.h'):
+if conf.CHECK_BUNDLED_SYSTEM('com_err', checkfunctions='com_right_r com_err', headers='com_err.h'):
     conf.define('USING_SYSTEM_COM_ERR', 1)
 
 if conf.find_program('compile_et', var='COMPILE_ET'):


-- 
Samba Shared Repository


More information about the samba-cvs mailing list