From 3bda5f3c7f7842a1909200771ddcad4731080dd0 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Feb 04 2019 11:17:18 +0000 Subject: Give repoSpanner up to 5 seconds to become available Signed-off-by: Patrick Uiterwijk --- diff --git a/tests/test_pagure_repospanner.py b/tests/test_pagure_repospanner.py index d8f12aa..4afd8b1 100644 --- a/tests/test_pagure_repospanner.py +++ b/tests/test_pagure_repospanner.py @@ -204,25 +204,37 @@ class PagureRepoSpannerTests(tests.Modeltests): stdout=self.repospanner_runlog, stderr=subprocess.STDOUT, ) - - # Wait for the instance to become available - resp = requests.get( - 'https://nodea.regiona.repospanner.local:%d/' - % configvals['gitport'], - verify=os.path.join(self.path, 'repospanner', 'pki', 'ca.crt'), - cert=( - os.path.join(self.path, 'repospanner', 'pki', 'pagure.crt'), - os.path.join(self.path, 'repospanner', 'pki', 'pagure.key'), - ) - ) - resp.raise_for_status() - - print('repoSpanner identification: %s' % resp.text) except: # Make sure to clean up repoSpanner, since we did start it self.tearDown() raise + attempts = 0 + while True: + try: + # Wait for the instance to become available + resp = requests.get( + 'https://nodea.regiona.repospanner.local:%d/' + % configvals['gitport'], + verify=os.path.join(self.path, 'repospanner', 'pki', 'ca.crt'), + cert=( + os.path.join(self.path, 'repospanner', 'pki', 'pagure.crt'), + os.path.join(self.path, 'repospanner', 'pki', 'pagure.key'), + ) + ) + resp.raise_for_status() + + print('repoSpanner identification: %s' % resp.text) + break + except: + if attempts < 5: + attempts += 1 + time.sleep(1) + continue + # Make sure to clean up repoSpanner, since we did start it + self.tearDown() + raise + def tearDown(self): """ Tear down the repoSpanner instance. """ if self.repospanner_proc: