@@ -452,6 +452,13 @@ def test_prepare_without_smt(fake_job, slurm_only):
452452 assert re .search (r'--hint=nomultithread' , fp .read ()) is not None
453453
454454
455+ def test_prepare_with_constraints (fake_job , slurm_only ):
456+ fake_job .options = ['--constraint=foo' ]
457+ prepare_job (fake_job )
458+ with open (fake_job .script_filename ) as fp :
459+ assert re .search (r'#SBATCH --constraint=foo' , fp .read ()) is not None
460+
461+
455462def test_prepare_nodes_option (make_exec_ctx , make_job , slurm_only ):
456463 make_exec_ctx (test_util .TEST_CONFIG_FILE , 'testsys' )
457464 job = make_job (sched_opts = {'part_name' : 'gpu' })
@@ -625,42 +632,47 @@ def test_no_empty_lines_in_preamble(minimal_job):
625632
626633
627634def test_combined_access_constraint (make_job , slurm_only ):
628- job = make_job (sched_access = ['--constraint=c1' ])
635+ job = make_job (sched_access = ['--constraint=c1' , '-A acct' , '-p part' ])
629636 job .options = ['-C c2&c3' ]
630637 prepare_job (job )
631638 with open (job .script_filename ) as fp :
632639 script_content = fp .read ()
633640
634- print (script_content )
641+ assert re .search ('-A acct' , script_content )
642+ assert re .search ('-p part' , script_content )
635643 assert re .search (r'(?m)--constraint=\(c1\)&\(c2&c3\)$' , script_content )
636644 assert re .search (r'(?m)--constraint=(c1|c2&c3)$' , script_content ) is None
637645
638646
639647def test_combined_access_multiple_constraints (make_job , slurm_only ):
640- job = make_job (sched_access = ['--constraint=c1' ])
648+ job = make_job (sched_access = ['--constraint=c1' , '-A acct' , '-p part' ])
641649 job .options = ['--constraint=c2' , '-C c3' ]
642650 prepare_job (job )
643651 with open (job .script_filename ) as fp :
644652 script_content = fp .read ()
645653
654+ assert re .search ('-A acct' , script_content )
655+ assert re .search ('-p part' , script_content )
646656 assert re .search (r'(?m)--constraint=\(c1\)&\(c3\)$' , script_content )
647657 assert re .search (r'(?m)--constraint=(c1|c2|c3)$' , script_content ) is None
648658
649659
650660def test_combined_access_verbatim_constraint (make_job , slurm_only ):
651- job = make_job (sched_access = ['--constraint=c1' ])
661+ job = make_job (sched_access = ['--constraint=c1' , '-A acct' , '-p part' ])
652662 job .options = ['#SBATCH --constraint=c2' , '#SBATCH -C c3' ]
653663 prepare_job (job )
654664 with open (job .script_filename ) as fp :
655665 script_content = fp .read ()
656666
667+ assert re .search ('-A acct' , script_content )
668+ assert re .search ('-p part' , script_content )
657669 assert re .search (r'(?m)--constraint=c1$' , script_content )
658670 assert re .search (r'(?m)^#SBATCH --constraint=c2$' , script_content )
659671 assert re .search (r'(?m)^#SBATCH -C c3$' , script_content )
660672
661673
662674def test_sched_access_in_submit (make_job ):
663- job = make_job (sched_access = ['--constraint=c1' , '--foo=bar ' ])
675+ job = make_job (sched_access = ['--constraint=c1' , '-A acct ' ])
664676 job .options = ['--constraint=c2' , '--xyz' ]
665677 job .scheduler ._sched_access_in_submit = True
666678
@@ -673,7 +685,7 @@ def test_sched_access_in_submit(make_job):
673685
674686 print (script_content )
675687 assert '--xyz' in script_content
676- assert '--foo=bar ' not in script_content
688+ assert '-A acct ' not in script_content
677689 if job .scheduler .registered_name in ('slurm' , 'squeue' ):
678690 # Constraints are combined in `sched_access` for Slurm backends
679691 assert '--constraint' not in script_content
0 commit comments