############################################################################
# Copyright (C) SchedMD LLC.
############################################################################
import atf
import pytest
import pexpect


# Setup
@pytest.fixture(scope="module", autouse=True)
def setup():
    atf.require_config_parameter("OverTimeLimit", 0)
    atf.require_slurm_running()


def test_debugger_test():
    """Validate Slurm debugger infrastructure (--debugger-test option)."""

    node_count = "1-2"
    task_count = 4
    time_out = 1
    ctld_poll = 60
    wait_time = time_out * 60 + ctld_poll
    child = pexpect.spawn(
        f"srun -N{node_count} -n{task_count} -O -t{time_out} --debugger-test id"
    )
    response_count = 0
    while response_count < task_count:
        child.expect("host:")
        response_count += 1
    child.expect("TIME LIMIT", timeout=wait_time)
