From 2bc4426f0e7aa3ed3f11c6b0ca6a8eae7ddb0b33 Mon Sep 17 00:00:00 2001 From: sarafael Date: Mon, 5 Mar 2018 10:48:12 +0100 Subject: [PATCH 1/2] Numerical sanity checn in quantum espresso test --- cscs-checks/apps/espresso/espresso_check.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cscs-checks/apps/espresso/espresso_check.py b/cscs-checks/apps/espresso/espresso_check.py index fb2a35611c..abd0c675e2 100644 --- a/cscs-checks/apps/espresso/espresso_check.py +++ b/cscs-checks/apps/espresso/espresso_check.py @@ -15,9 +15,15 @@ def __init__(self, variant, **kwargs): 'Espresso') self.executable = 'pw.x' self.executable_opts = '-in ausurf.in'.split() - - self.sanity_patterns = sn.assert_found( - r'convergence has been achieved', self.stdout) + property_patterns = { + 'energy': sn.extractsingle(r'! total energy =' + r'\s+(?P\S+) Ry', + self.stdout, 'energy', float) + } + self.sanity_patterns = sn.all([ + sn.assert_found(r'convergence has been achieved', self.stdout), + sn.assert_reference(property_patterns['energy'], -11427.08612278, + lower_thres=-1e-10, upper_thres=1e-10)]) self.perf_patterns = { 'sec': sn.extractsingle(r'electrons :\s+(?P\S+)s CPU ', self.stdout, 'sec', float) From 761fdd16edd7a4d18aecfe86451625c054fd2079 Mon Sep 17 00:00:00 2001 From: sarafael Date: Mon, 5 Mar 2018 13:46:29 +0100 Subject: [PATCH 2/2] Fixes comments --- cscs-checks/apps/espresso/espresso_check.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cscs-checks/apps/espresso/espresso_check.py b/cscs-checks/apps/espresso/espresso_check.py index abd0c675e2..2d31b7218d 100644 --- a/cscs-checks/apps/espresso/espresso_check.py +++ b/cscs-checks/apps/espresso/espresso_check.py @@ -15,15 +15,11 @@ def __init__(self, variant, **kwargs): 'Espresso') self.executable = 'pw.x' self.executable_opts = '-in ausurf.in'.split() - property_patterns = { - 'energy': sn.extractsingle(r'! total energy =' - r'\s+(?P\S+) Ry', - self.stdout, 'energy', float) - } + energy = sn.extractsingle(r'!\s+total energy\s+=\s+(?P\S+) Ry', + self.stdout, 'energy', float) self.sanity_patterns = sn.all([ sn.assert_found(r'convergence has been achieved', self.stdout), - sn.assert_reference(property_patterns['energy'], -11427.08612278, - lower_thres=-1e-10, upper_thres=1e-10)]) + sn.assert_reference(energy, -11427.08612278, -1e-10, 1e-10)]) self.perf_patterns = { 'sec': sn.extractsingle(r'electrons :\s+(?P\S+)s CPU ', self.stdout, 'sec', float)