You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using the valid_systems = [r'%scheduler=slurm', r'%scheduler=squeue'] syntax described in the documentation to select which tests to run. ReFrame only selects the tests that depend on the first partition on the list defined in site_configuration.
ReFrame version
4.8.0-dev.3+cf670fe1 (latest as of today)
Steps to reproduce the error
1. Create system configuration files
Create a configuration file for a given cluster, defining two different partitions. In my case, I have used local and slurm.
Copy the file into a different one and change the order of appearance of the partitions inside the partitions key in the systems list.
One test should set valid_systems = [r'%scheduler=slurm'] and the other valid_systems = [r'%scheduler=local'].
I am using the following two tests.
import os
import reframe as rfm
import reframe.utility.sanity as sn
SLEEPCMD='/bin/sleep'
@rfm.simple_test
class sleep_submit_job_check(rfm.RunOnlyRegressionTest):
executable = SLEEPCMD
# run only when slurm is the workload manager
valid_systems = [r'%scheduler=slurm']
valid_prog_environs = ['builtin']
executable_opts = ['1']
@sanity_function
def assert_sanity(self):
return True
@rfm.simple_test
class sleep_local_job_check(rfm.RunOnlyRegressionTest):
executable = SLEEPCMD
# run in the local scheduler
valid_systems = [r'%scheduler=local']
valid_prog_environs = ['builtin']
executable_opts = ['1']
@sanity_function
def assert_sanity(self):
return sn.all([
sn.assert_eq(os.stat(sn.evaluate(self.stdout)).st_size, 0,
msg=f'file {self.stdout} is not empty'),
sn.assert_eq(os.stat(sn.evaluate(self.stderr)).st_size, 0,
msg=f'file {self.stderr} is not empty'),
])
3. The output
When the local partition is defined as the first entry, it selects only the job that sets valid_systems = [r'%scheduler=local'].
The second partition will try to fetch the default value from the extras and will get the one set already from the steps 1-2 and when it's set_default is called for the scheduler and launcher, this has already default values.
TL;DR
I am using the
valid_systems = [r'%scheduler=slurm', r'%scheduler=squeue']
syntax described in the documentation to select which tests to run. ReFrame only selects the tests that depend on the first partition on the list defined insite_configuration
.ReFrame version
4.8.0-dev.3+cf670fe1 (latest as of today)
Steps to reproduce the error
1. Create system configuration files
Create a configuration file for a given cluster, defining two different partitions. In my case, I have used
local
andslurm
.Copy the file into a different one and change the order of appearance of the partitions inside the
partitions
key in the systems list.I have used the two configuration files below.
File
daint-local-partition-first-config.py
:File
daint-slurm-partition-first-conf.py
:2. Define two tests
One test should set
valid_systems = [r'%scheduler=slurm']
and the othervalid_systems = [r'%scheduler=local']
.I am using the following two tests.
3. The output
When the
local
partition is defined as the first entry, it selects only the job that setsvalid_systems = [r'%scheduler=local']
.When the
slurm
partition is defined as the first entry, it selects only the job that setsvalid_systems = [r'%scheduler= slurm']
.4. The expected output
ReFrame should select both tests independently of the order in the
site_configuration
variable.Thus this
should have the same output as below.
The text was updated successfully, but these errors were encountered: