ofayans's pull request #52: "Removed incorrect check for returncode" was opened
PR body: """ The server installation in most cases returns response code 0 no matter what happens except for really severe errors. In this case when we try to uninstall the middle replica of a line topology, it fails, notifies us that we should use '--ignore-topology-disconnect', but returns 0 https://fedorahosted.org/freeipa/ticket/3230 """ See the full pull-request at https://github.com/freeipa/freeipa/pull/52 ... or pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/52/head:pr52 git checkout pr52
From c0c274d9873c5be708a2a6e54356f7e611c4b330 Mon Sep 17 00:00:00 2001 From: Oleg Fayans <ofay...@redhat.com> Date: Fri, 2 Sep 2016 15:24:40 +0200 Subject: [PATCH] Removed incorrect check for returncode The server installation in most cases returns response code 0 no matter what happens except for really severe errors. In this case when we try to uninstall the middle replica of a line topology, it fails, notifies us that we should use '--ignore-topology-disconnect', but returns 0 https://fedorahosted.org/freeipa/ticket/3230 --- ipatests/test_integration/tasks.py | 2 +- ipatests/test_integration/test_replica_promotion.py | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ipatests/test_integration/tasks.py b/ipatests/test_integration/tasks.py index c60d436..db99bbb 100644 --- a/ipatests/test_integration/tasks.py +++ b/ipatests/test_integration/tasks.py @@ -1190,7 +1190,7 @@ def run_server_del(host, server_to_delete, force=False, def assert_error(result, stderr_text, returncode=None): "Assert that `result` command failed and its stderr contains `stderr_text`" assert stderr_text in result.stderr_text, result.stderr_text - if returncode: + if returncode is not None: assert result.returncode == returncode else: assert result.returncode > 0 diff --git a/ipatests/test_integration/test_replica_promotion.py b/ipatests/test_integration/test_replica_promotion.py index 3e62f92..e06cafd 100644 --- a/ipatests/test_integration/test_replica_promotion.py +++ b/ipatests/test_integration/test_replica_promotion.py @@ -348,10 +348,12 @@ def test_replica_uninstallation_prohibited(self): result = self.replicas[0].run_command(['ipa-server-install', '--uninstall', '-U'], raiseonerr=False) - assert(result.returncode > 0), ("The replica was removed without " - "'--ignore-topology-disconnect' option") - assert("Uninstallation leads to disconnected topology" - in result.stdout_text), ("Expected error message was not found") + # Due to ticket 3230 server installation/uninstallation always returns + # 0 unless an uncaught exception occurs. Once this issue is properly + # addressed, please care to change expected return code in the + # following assert from 0 to something else. + assert_error(result, "Removal of '%s' leads to disconnected" + " topology" % self.replicas[0].hostname, 0) self.replicas[0].run_command(['ipa-server-install', '--uninstall', '-U', '--ignore-topology-disconnect'])
-- Manage your subscription for the Freeipa-devel mailing list: https://www.redhat.com/mailman/listinfo/freeipa-devel Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code