mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-18 00:26:11 -04:00
Add wait_for_zones_loaded fixture
The wait_for_zones_loaded fixture waits for the "all zones loaded"
message in the named log file before the test function can proceed.
(cherry picked from commit 662a88055c)
This commit is contained in:
parent
b09835a5d1
commit
24fd30f7eb
2 changed files with 23 additions and 0 deletions
|
|
@ -357,6 +357,27 @@ def mlogger(system_test_name):
|
|||
return logging.getLogger(system_test_name)
|
||||
|
||||
|
||||
def _get_marker(node, marker):
|
||||
try:
|
||||
# pytest >= 4.x
|
||||
return node.get_closest_marker(marker)
|
||||
except AttributeError:
|
||||
# pytest < 4.x
|
||||
return node.get_marker(marker)
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def wait_for_zones_loaded(request, servers):
|
||||
"""Wait for all zones to be loaded by specified named instances."""
|
||||
instances = _get_marker(request.node, "requires_zones_loaded")
|
||||
if not instances:
|
||||
return
|
||||
|
||||
for instance in instances.args:
|
||||
with servers[instance].watch_log_from_start() as watcher:
|
||||
watcher.wait_for_line("all zones loaded")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def logger(request, system_test_name):
|
||||
"""Logging facility specific to a particular test."""
|
||||
|
|
|
|||
|
|
@ -18,3 +18,5 @@ log_level = INFO
|
|||
python_files = tests_*.py
|
||||
junit_logging = log
|
||||
junit_log_passing_tests = 0
|
||||
markers =
|
||||
requires_zones_loaded: ensures the test does not start until the specified named instances load all configured zones
|
||||
|
|
|
|||
Loading…
Reference in a new issue