test/pylib: print cluster at the end of test

- print the cluster used by the test in `after_test`
- if cluster setup fails in `before_test`, print the cluster together
  with the exception (`after_test` is not executed if `before_test`
  fails)
This commit is contained in:
Kamil Braun
2023-01-19 12:24:05 +01:00
parent 53366db6c6
commit f4b56cddde
2 changed files with 5 additions and 3 deletions

View File

@@ -89,7 +89,8 @@ class ManagerClient():
async def after_test(self, test_case_name: str) -> None:
"""Tell harness this test finished"""
logger.debug("after_test for %s", test_case_name)
await self.client.get(f"/cluster/after-test")
cluster_str = await self.client.get_text(f"/cluster/after-test")
logger.info("Cluster after test %s: %s", test_case_name, cluster_str)
async def is_manager_up(self) -> bool:
"""Check if Manager server is up"""

View File

@@ -735,7 +735,7 @@ class ScyllaCluster:
if self.start_exception:
# Mark as dirty so further test cases don't try to reuse this cluster.
self.is_dirty = True
raise self.start_exception
raise Exception(f'Exception when starting cluster {self}:\n{self.start_exception}')
for server in self.running.values():
server.write_log_marker(f"------ Starting test {name} ------\n")
@@ -993,7 +993,8 @@ class ScyllaClusterManager:
finally:
self.current_test_case_full_name = ''
self.is_after_test_ok = True
return aiohttp.web.Response(text="True")
cluster_str = str(self.cluster)
return aiohttp.web.Response(text=cluster_str)
async def _mark_dirty(self, _request) -> aiohttp.web.Response:
"""Mark current cluster dirty"""