| ############################################################################ | |
| # Copyright (C) SchedMD LLC. | |
| ############################################################################ | |
| import re | |
| import pytest | |
| import atf | |
| switch_name = "s0" | |
| nodes = list(atf.get_nodes(live=False).keys()) | |
| @pytest.fixture(scope="module", autouse=True) | |
| def setup(): | |
| atf.require_config_parameter("SelectType", "select/cons_tres") | |
| atf.require_config_parameter("SelectTypeParameters", "CR_CPU") | |
| atf.require_config_parameter("TopologyPlugin", "topology/tree") | |
| atf.require_config_parameter( | |
| "SwitchName", f"{switch_name} Nodes={nodes[0]}", source="topology" | |
| ) | |
| atf.require_slurm_running() | |
| def test_show_topo(): | |
| if atf.get_version("bin/scontrol") >= (25, 5, 0): | |
| opt = f"switch={switch_name}" | |
| else: | |
| opt = f"{switch_name}" | |
| output = atf.run_command_output(f"scontrol show topology {opt}") | |
| assert re.search( | |
| rf"SwitchName={switch_name} .*Nodes={nodes[0]}", output | |
| ), f"Verify that scontrol returns the right SwitchName={switch_name} with the right Nodes={nodes[0]}" |