| ############################################################################ | |
| # Copyright (C) SchedMD LLC. | |
| ############################################################################ | |
| import re | |
| import pytest | |
| import atf | |
| # Setup | |
| @pytest.fixture(scope="module", autouse=True) | |
| def setup(): | |
| atf.require_config_parameter("SelectType", "select/linear") | |
| atf.require_config_parameter("SelectTypeParameters", "CR_Memory") | |
| atf.require_slurm_running() | |
| def test_ntasks_per_node(): | |
| """Test of --ntasks-per-node option.""" | |
| task_num = 2 | |
| output = atf.run_job_output(f"-N1 --ntasks-per-node={task_num} -O -l id") | |
| match = re.findall(r"\d+: uid=", output) | |
| assert ( | |
| len(match) == task_num | |
| ), f"Failed to get output from all tasks. Got {len(match)} expected {task_num}" |