Exemple #1
0
 def set_sanity_patterns(self):
     self.sanity_patterns = sn.assert_bounded(
         sn.extractsingle(
             r'Random: (?P<number>\S+)', self.stdout, 'number', float
         ),
         self.lower, self.upper
     )
Exemple #2
0
 def set_sanity_patterns(self):
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     self.sanity_patterns = sn.all([
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 90, 100), numbers))
     ])
Exemple #3
0
 def validate_test(self):
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     return sn.all([
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 90, 100), numbers))
     ])
Exemple #4
0
 def __init__(self):
     super().__init__()
     self.valid_systems = ['daint:mc']
     self.executable = '/usr/bin/free'
     self.executable_opts = ['-h']
     mem_obtained = sn.extractsingle(r'Mem:\s+(?P<mem>\S+)G', self.stdout,
                                     'mem', float)
     self.sanity_patterns = sn.assert_bounded(mem_obtained, 122.0, 128.0)
Exemple #5
0
 def __init__(self):
     self.descr = 'Apply a sanity function iteratively'
     self.valid_systems = ['*']
     self.valid_prog_environs = ['*']
     self.executable = './random_numbers.sh'
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     self.sanity_patterns = sn.and_(
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 90, 100), numbers)))
Exemple #6
0
 def __init__(self):
     self.descr = 'A simple test that echoes a random number'
     self.valid_systems = ['*']
     self.valid_prog_environs = ['*']
     lower = 90
     upper = 100
     self.executable = 'echo'
     self.executable_opts = [
         'Random: ', f'$((RANDOM%({upper}+1-{lower})+{lower}))'
     ]
     self.sanity_patterns = sn.assert_bounded(
         sn.extractsingle(r'Random: (?P<number>\S+)', self.stdout, 'number',
                          float), lower, upper)
Exemple #7
0
 def __init__(self):
     self.descr = ('ReFrame tutorial demonstrating the use of deferred '
                   'iteration via the `map` sanity function.')
     self.valid_systems = ['*']
     self.valid_prog_environs = ['*']
     self.executable = './random_numbers.sh'
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     self.sanity_patterns = sn.and_(
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 90, 100), numbers)))
     self.maintainers = ['put-your-name-here']
     self.tags = {'tutorial'}
Exemple #8
0
 def __init__(self):
     self.descr = 'Pre- and post-run demo test'
     self.valid_systems = ['*']
     self.valid_prog_environs = ['*']
     self.prerun_cmds = ['source limits.sh']
     self.postrun_cmds = ['echo FINISHED']
     self.executable = './random_numbers.sh'
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     self.sanity_patterns = sn.all([
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 90, 100), numbers)),
         sn.assert_found(r'FINISHED', self.stdout)
     ])
Exemple #9
0
 def test_assert_bounded(self):
     self.assertTrue(sn.assert_bounded(1, -1.5, 1.5))
     self.assertTrue(sn.assert_bounded(1, upper=1.5))
     self.assertTrue(sn.assert_bounded(1, lower=-1.5))
     self.assertTrue(sn.assert_bounded(1))
     self.assertRaisesRegex(SanityError,
                            'value 1 not within bounds -0\.5\.\.0\.5',
                            evaluate, sn.assert_bounded(1, -0.5, 0.5))
     self.assertRaisesRegex(SanityError,
                            'value 1 not within bounds -inf\.\.0\.5',
                            evaluate, sn.assert_bounded(1, upper=0.5))
     self.assertRaisesRegex(SanityError,
                            'value 1 not within bounds 1\.5\.\.inf',
                            evaluate, sn.assert_bounded(1, lower=1.5))
     self.assertRaisesRegex(
         SanityError, 'value 1 is out of bounds', evaluate,
         sn.assert_bounded(1, -0.5, 0.5, 'value {0} is out of bounds'))
Exemple #10
0
    def __init__(self, **kwargs):
        super().__init__('run_only_check', os.path.dirname(__file__), **kwargs)

        self.descr = ('ReFrame tutorial demonstrating the class'
                      'RunOnlyRegressionTest')
        self.valid_systems = ['*']
        self.valid_prog_environs = ['*']
        lower = 90
        upper = 100
        self.executable = 'echo $((RANDOM%({1}+1-{0})+{0}))'.format(
            lower, upper)
        self.sanity_patterns = sn.assert_bounded(
            sn.extractsingle(r'(?P<number>\S+)', self.stdout, 'number', float),
            lower, upper)
        self.maintainers = ['put-your-name-here']
        self.tags = {'tutorial'}
Exemple #11
0
    def __init__(self):
        self.descr = ('ReFrame tutorial demonstrating the class'
                      'RunOnlyRegressionTest')
        self.valid_systems = ['*']
        self.valid_prog_environs = ['*']
        self.sourcesdir = None

        lower = 90
        upper = 100
        self.executable = 'echo "Random: $((RANDOM%({1}+1-{0})+{0}))"'.format(
            lower, upper)
        self.sanity_patterns = sn.assert_bounded(
            sn.extractsingle(r'Random: (?P<number>\S+)', self.stdout, 'number',
                             float), lower, upper)
        self.maintainers = ['put-your-name-here']
        self.tags = {'tutorial'}
 def __init__(self):
     self.descr = ('ReFrame tutorial demonstrating the use of '
                   'pre- and post-run commands')
     self.valid_systems = ['*']
     self.valid_prog_environs = ['*']
     self.pre_run = ['source scripts/limits.sh']
     self.post_run = ['echo FINISHED']
     self.executable = './random_numbers.sh'
     numbers = sn.extractall(r'Random: (?P<number>\S+)', self.stdout,
                             'number', float)
     self.sanity_patterns = sn.all([
         sn.assert_eq(sn.count(numbers), 100),
         sn.all(sn.map(lambda x: sn.assert_bounded(x, 50, 80), numbers)),
         sn.assert_found('FINISHED', self.stdout)
     ])
     self.maintainers = ['put-your-name-here']
     self.tags = {'tutorial'}
Exemple #13
0
def test_assert_bounded():
    assert sn.assert_bounded(1, -1.5, 1.5)
    assert sn.assert_bounded(1, upper=1.5)
    assert sn.assert_bounded(1, lower=-1.5)
    assert sn.assert_bounded(1)
    with pytest.raises(SanityError,
                       match=r'value 1 not within bounds -0\.5\.\.0\.5'):
        sn.evaluate(sn.assert_bounded(1, -0.5, 0.5))

    with pytest.raises(SanityError,
                       match=r'value 1 not within bounds -inf\.\.0\.5'):
        sn.evaluate(sn.assert_bounded(1, upper=0.5))

    with pytest.raises(SanityError,
                       match=r'value 1 not within bounds 1\.5\.\.inf'):
        sn.evaluate(sn.assert_bounded(1, lower=1.5))

    with pytest.raises(SanityError, match='value 1 is out of bounds'):
        sn.evaluate(sn.assert_bounded(
            1, -0.5, 0.5, 'value {0} is out of bounds'))
Exemple #14
0
 def assert_memory_is_bounded(self):
     mem_obtained = sn.extractsingle(r'Mem:\s+(?P<mem>\S+)G', self.stdout,
                                     'mem', float)
     return sn.assert_bounded(mem_obtained, 122.0, 128.0)
Exemple #15
0
 def assert_solution(self):
     return sn.assert_bounded(
         sn.extractsingle(r'Random: (?P<number>\S+)', self.stdout, 'number',
                          float), self.lower, self.upper)