summaryrefslogtreecommitdiffstats
path: root/ipatests/test_integration
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2017-03-20 11:40:17 +0100
committerTomas Krizek <tkrizek@redhat.com>2017-03-22 13:42:04 +0100
commit8aadd55c93a627e88e007d2df864a5fb72fba0a2 (patch)
treec8bcb18d1d7e2ad4cd71687e63bee0c0aab9ebf3 /ipatests/test_integration
parent8867412adc0ffd0cacf555a5c3693e04074fed5b (diff)
Move function run_repeatedly to tasks module
https://pagure.io/freeipa/issue/6798 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Milan Kubik <mkubik@redhat.com>
Diffstat (limited to 'ipatests/test_integration')
-rw-r--r--ipatests/test_integration/test_trust.py4
-rw-r--r--ipatests/test_integration/util.py40
2 files changed, 2 insertions, 42 deletions
diff --git a/ipatests/test_integration/test_trust.py b/ipatests/test_integration/test_trust.py
index 94fde4d94..6a5dda8aa 100644
--- a/ipatests/test_integration/test_trust.py
+++ b/ipatests/test_integration/test_trust.py
@@ -80,8 +80,8 @@ class ADTrustBase(IntegrationTest):
% dict(idauth=_sid_identifier_authority)
stdout_re = re.escape(' ipaNTSecurityIdentifier: ') + sid_regex
- util.run_repeatedly(cls.master, command,
- test=lambda x: re.search(stdout_re, x))
+ tasks.run_repeatedly(cls.master, command,
+ test=lambda x: re.search(stdout_re, x))
@classmethod
def configure_dns_and_time(cls):
diff --git a/ipatests/test_integration/util.py b/ipatests/test_integration/util.py
index 179f6727e..b42111ec1 100644
--- a/ipatests/test_integration/util.py
+++ b/ipatests/test_integration/util.py
@@ -17,51 +17,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import time
import re
from ipaplatform.paths import paths
from ipalib.constants import DEFAULT_CONFIG
-def run_repeatedly(host, command, assert_zero_rc=True, test=None,
- timeout=30, **kwargs):
- """
- Runs command on host repeatedly until it's finished successfully (returns
- 0 exit code and its stdout passes the test function).
-
- Returns True if the command was executed succesfully, False otherwise.
-
- This method accepts additional kwargs and passes these arguments
- to the actual run_command method.
- """
-
- time_waited = 0
- time_step = 2
-
- # Check that the test is a function
- if test:
- assert callable(test)
-
- while(time_waited <= timeout):
- result = host.run_command(command, raiseonerr=False, **kwargs)
-
- return_code_ok = not assert_zero_rc or (result.returncode == 0)
- test_ok = not test or test(result.stdout_text)
-
- if return_code_ok and test_ok:
- # Command successful
- return True
- else:
- # Command not successful
- time.sleep(time_step)
- time_waited += time_step
-
- raise AssertionError("Command: {cmd} repeatedly failed {times} times, "
- "exceeding the timeout of {timeout} seconds."
- .format(cmd=' '.join(command),
- times=timeout // time_step,
- timeout=timeout))
-
def get_host_ip_with_hostmask(host):
"""