From 77433ddd8bd3aeb7a2c21ec3edc09295cf363c1c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Feb 2014 09:15:30 +0100 Subject: [PATCH 1/4] script/autobuild: use --force-rebase option This makes sure the current user will be the committer. Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison (cherry picked from commit ab9f02193188af8e482052ee6b55c30aac2c8340) --- script/autobuild.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/autobuild.py b/script/autobuild.py index 76e777c..a54cb15 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -417,11 +417,11 @@ def rebase_tree(rebase_url, rebase_branch = "master"): show=True, dir=test_master) run_cmd("git fetch %s" % rebase_remote, show=True, dir=test_master) if options.fix_whitespace: - run_cmd("git rebase --whitespace=fix %s/%s" % + run_cmd("git rebase --force-rebase --whitespace=fix %s/%s" % (rebase_remote, rebase_branch), show=True, dir=test_master) else: - run_cmd("git rebase %s/%s" % + run_cmd("git rebase --force-rebase %s/%s" % (rebase_remote, rebase_branch), show=True, dir=test_master) diff = run_cmd("git --no-pager diff HEAD %s/%s" % -- 1.9.1 From e399e0740fcdc1702f46225b161c723f26fe302a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 12 Mar 2014 15:12:42 +0100 Subject: [PATCH 2/4] selftest/subunithelper.py: correctly handle unexpected success in FilterOps Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison (cherry picked from commit 14246953b2e91578e5f51faedfdf31926a5b1950) --- selftest/subunithelper.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py index 057e139..8b10016 100644 --- a/selftest/subunithelper.py +++ b/selftest/subunithelper.py @@ -301,8 +301,14 @@ class FilterOps(testtools.testresult.TestResult): def addUnexpectedSuccess(self, test, details=None): test = self._add_prefix(test) + self.uxsuccess_added+=1 + self.total_uxsuccess+=1 self._ops.addUnexpectedSuccess(test, details) + if self.output: + self._ops.output_msg(self.output) self.output = None + if self.fail_immediately: + raise ImmediateFail() def addFailure(self, test, details=None): test = self._add_prefix(test) @@ -362,12 +368,18 @@ class FilterOps(testtools.testresult.TestResult): if self.xfail_added > 0: xfail = True - if self.fail_added > 0 or self.error_added > 0: + if self.fail_added > 0 or self.error_added > 0 or self.uxsuccess_added > 0: xfail = False if xfail and result in ("fail", "failure"): result = "xfail" + if self.uxsuccess_added > 0 and result != "uxsuccess": + result = "uxsuccess" + if reason is None: + reason = "Subunit/Filter Reason" + reason += "\n uxsuccess[%d]" % self.uxsuccess_added + if self.fail_added > 0 and result != "failure": result = "failure" if reason is None: -- 1.9.1 From 4a80863d480c6034daa0efd4d2ed558db5e471c8 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 12 Mar 2014 15:12:42 +0100 Subject: [PATCH 3/4] selftest/subunithelper.py: correctly handle fail_immediately in end_testsuite of FilterOps This way --fail-immediately also works if a command segfaults. Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison (cherry picked from commit fee156f5b9235b5f766cb773433ddb7d0ccd98a1) --- selftest/subunithelper.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py index 8b10016..3f54d5a 100644 --- a/selftest/subunithelper.py +++ b/selftest/subunithelper.py @@ -393,6 +393,12 @@ class FilterOps(testtools.testresult.TestResult): reason += "\n errors[%d]" % self.error_added self._ops.end_testsuite(name, result, reason) + if result not in ("success", "xfail"): + if self.output: + self._ops.output_msg(self.output) + if self.fail_immediately: + raise ImmediateFail() + self.output = None def __init__(self, out, prefix=None, suffix=None, expected_failures=None, strip_ok_output=False, fail_immediately=False, -- 1.9.1 From 1fc47cedaed70a60d89ac40fdaa9cba60e2c94f4 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 12 Mar 2014 15:12:42 +0100 Subject: [PATCH 4/4] selftest/subunithelper.py: correctly pass testsuite-uxsuccess to end_testsuite() Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Thu Mar 13 23:49:36 CET 2014 on sn-devel-104 (cherry picked from commit 3632c59e250396b3974bccf7ad74cbe5c84fdba3) --- selftest/subunithelper.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/selftest/subunithelper.py b/selftest/subunithelper.py index 3f54d5a..6f1fdce 100644 --- a/selftest/subunithelper.py +++ b/selftest/subunithelper.py @@ -24,7 +24,7 @@ import subunit.iso8601 import testtools from testtools import content, content_type -VALID_RESULTS = ['success', 'successful', 'failure', 'fail', 'skip', 'knownfail', 'error', 'xfail', 'skip-testsuite', 'testsuite-failure', 'testsuite-xfail', 'testsuite-success', 'testsuite-error', 'uxsuccess'] +VALID_RESULTS = ['success', 'successful', 'failure', 'fail', 'skip', 'knownfail', 'error', 'xfail', 'skip-testsuite', 'testsuite-failure', 'testsuite-xfail', 'testsuite-success', 'testsuite-error', 'uxsuccess', 'testsuite-uxsuccess'] class TestsuiteEnabledTestResult(testtools.testresult.TestResult): @@ -158,6 +158,9 @@ def parse_results(msg_ops, statistics, fh): exitcode = 1 elif result == "testsuite-xfail": msg_ops.end_testsuite(testname, "xfail", reason) + elif result == "testsuite-uxsuccess": + msg_ops.end_testsuite(testname, "uxsuccess", reason) + exitcode = 1 elif result == "testsuite-error": msg_ops.end_testsuite(testname, "error", reason) exitcode = 1 -- 1.9.1