| ############################################################################ | |
| # Copyright (C) SchedMD LLC. | |
| ############################################################################ | |
| import pytest | |
| import atf | |
| # Setup | |
| @pytest.fixture(scope="module", autouse=True) | |
| def setup(): | |
| atf.require_slurm_running() | |
| class Test_mem_mincpus_tmp: | |
| def test_mincpus(self): | |
| """Verify node configuration specification --mincpus option""" | |
| # Submit a job with invalid mincpus requirement | |
| min_cpus = 999999 | |
| exit_code = atf.run_command_exit(f"srun --mincpus={min_cpus} true") | |
| assert exit_code != 0, "srun ran with an invalid value for --mincpus" | |
| # Submit a job with valid mincpus requirement | |
| min_cpus = 1 | |
| exit_code = atf.run_command_exit(f"srun --mincpus={min_cpus} true") | |
| assert exit_code == 0, "srun did not run with a valid value for --mincpus" | |
| def test_mem(self): | |
| """Verify node configuration specification --mem option""" | |
| # Submit a job with invalid mem requirement | |
| mem = 999999 | |
| exit_code = atf.run_command_exit(f"srun --mem={mem} true") | |
| assert exit_code != 0, "srun ran with an invalid value for --mem" | |
| # Submit a job with valid mem requirement | |
| mem = 1 | |
| exit_code = atf.run_command_exit(f"srun --mem={mem} true") | |
| assert exit_code == 0, "srun did not run with a valid value for --mem" | |
| def test_tmp(self): | |
| """Verify node configuration specification --tmp option""" | |
| # Submit a job with invalid tmp requirement | |
| tmp_disk = 999999 | |
| exit_code = atf.run_command_exit(f"srun --tmp={tmp_disk} true") | |
| assert exit_code != 0, "srun ran with an invalid value for --tmp" | |
| # Submit a job with valid tmp requirement | |
| tmp_disk = 0 | |
| exit_code = atf.run_command_exit(f"srun --tmp={tmp_disk} true") | |
| assert exit_code == 0, "srun did not run with a valid value for --tmp" |