Skip to content

Commit 4f13a7e

Browse files
author
Vasileios Karakasis
authored
Merge branch 'master' into feature/summary-rerun-failures
2 parents a36408c + ece0880 commit 4f13a7e

File tree

85 files changed

+778
-1843
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+778
-1843
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
dist: xenial
22
language: python
33
python:
4-
- "3.5"
54
- "3.6"
65
- "3.7"
76
- "3.8"

Jenkinsfile

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -120,44 +120,6 @@ stage('Unittest') {
120120
}
121121
}
122122

123-
stage('Public Test') {
124-
if (currentBuild.result != 'SUCCESS') {
125-
println 'Not executing "Public Test" Stage'
126-
return
127-
}
128-
else {
129-
try {
130-
if (!('dom' in machinesToRun)) {
131-
return
132-
}
133-
node('dom') {
134-
def scratch = sh(returnStdout: true,
135-
script: """${loginBash}
136-
echo \$SCRATCH""").trim()
137-
def reframeDir = "${scratch}/${dirPrefix}-dom-${uniqueID}"
138-
dir(reframeDir) {
139-
sh("""${loginBash}
140-
bash ${reframeDir}/$bashScript -f ${reframeDir} -i '' -g""")
141-
}
142-
}
143-
currentBuild.result = "SUCCESS"
144-
} catch(err) {
145-
if (err.toString().contains('exit code 143')) {
146-
currentBuild.result = "ABORTED"
147-
println "The Public Test was cancelled. Aborting....."
148-
}
149-
else if (err.toString().contains('Queue task was cancelled')) {
150-
currentBuild.result = "ABORTED"
151-
println "The Queue task was cancelled. Aborting....."
152-
}
153-
else {
154-
currentBuild.result = "FAILURE"
155-
println "The Public Test failed. Exiting....."
156-
}
157-
}
158-
}
159-
}
160-
161123
builds = [:]
162124
stage('Tutorial Check') {
163125
if (currentBuild.result != 'SUCCESS') {

ci-scripts/ci-runner.bash

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,15 @@ else
187187

188188
checked_exec ./test_reframe.py --rfm-user-config=config/cscs-ci.py
189189

190-
echo "==================================="
191-
echo "Running unit tests with PBS backend"
192-
echo "==================================="
193-
194190
if [[ $(hostname) =~ dom ]]; then
195191
PATH_save=$PATH
196-
export PATH=/apps/dom/UES/karakasv/slurm-wrappers/bin:$PATH
197-
checked_exec ./test_reframe.py --rfm-user-config=config/cscs-pbs.py
192+
for backend in pbs torque; do
193+
echo "=================================="
194+
echo "Running unit tests with ${backend}"
195+
echo "=================================="
196+
export PATH=/apps/dom/UES/karakasv/slurm-wrappers/bin:$PATH
197+
checked_exec ./test_reframe.py --rfm-user-config=config/cscs-${backend}.py
198+
done
198199
export PATH=$PATH_save
199200
fi
200201

config/cscs-torque.py

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Copyright 2016-2020 Swiss National Supercomputing Centre (CSCS/ETH Zurich)
2+
# ReFrame Project Developers. See the top-level LICENSE file for details.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
#
7+
# Minimal CSCS configuration for testing the Torque backend
8+
#
9+
10+
11+
class ReframeSettings:
12+
job_poll_intervals = [1, 2, 3]
13+
job_submit_timeout = 60
14+
checks_path = ['checks/']
15+
checks_path_recurse = True
16+
site_configuration = {
17+
'systems': {
18+
'dom': {
19+
'descr': 'Dom TDS',
20+
'hostnames': ['dom'],
21+
'modules_system': 'tmod',
22+
'resourcesdir': '/apps/common/UES/reframe/resources',
23+
'partitions': {
24+
'login': {
25+
'scheduler': 'local',
26+
'modules': [],
27+
'access': [],
28+
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
29+
'PrgEnv-intel', 'PrgEnv-pgi'],
30+
'descr': 'Login nodes',
31+
'max_jobs': 4
32+
},
33+
34+
'gpu': {
35+
'scheduler': 'torque+mpiexec',
36+
'modules': ['daint-gpu'],
37+
'access': ['-l proc=gpu'],
38+
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
39+
'PrgEnv-intel', 'PrgEnv-pgi'],
40+
'descr': 'Hybrid nodes (Haswell/P100)',
41+
'max_jobs': 100,
42+
},
43+
44+
'mc': {
45+
'scheduler': 'torque+mpiexec',
46+
'modules': ['daint-mc'],
47+
'access': ['-l proc=mc'],
48+
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
49+
'PrgEnv-intel', 'PrgEnv-pgi'],
50+
'descr': 'Multicore nodes (Broadwell)',
51+
'max_jobs': 100,
52+
},
53+
}
54+
},
55+
56+
'generic': {
57+
'descr': 'Generic example system',
58+
'partitions': {
59+
'login': {
60+
'scheduler': 'local',
61+
'modules': [],
62+
'access': [],
63+
'environs': ['builtin-gcc'],
64+
'descr': 'Login nodes'
65+
}
66+
}
67+
}
68+
},
69+
70+
'environments': {
71+
'*': {
72+
'PrgEnv-cray': {
73+
'modules': ['PrgEnv-cray'],
74+
},
75+
76+
'PrgEnv-gnu': {
77+
'modules': ['PrgEnv-gnu'],
78+
},
79+
80+
'PrgEnv-intel': {
81+
'modules': ['PrgEnv-intel'],
82+
},
83+
84+
'PrgEnv-pgi': {
85+
'modules': ['PrgEnv-pgi'],
86+
},
87+
88+
'builtin': {
89+
'cc': 'cc',
90+
'cxx': '',
91+
'ftn': '',
92+
},
93+
94+
'builtin-gcc': {
95+
'cc': 'gcc',
96+
'cxx': 'g++',
97+
'ftn': 'gfortran',
98+
}
99+
}
100+
},
101+
}
102+
103+
logging_config = {
104+
'level': 'DEBUG',
105+
'handlers': [
106+
{
107+
'type': 'file',
108+
'name': 'reframe.log',
109+
'level': 'DEBUG',
110+
'format': '[%(asctime)s] %(levelname)s: '
111+
'%(check_info)s: %(message)s',
112+
'append': False,
113+
},
114+
115+
# Output handling
116+
{
117+
'type': 'stream',
118+
'name': 'stdout',
119+
'level': 'INFO',
120+
'format': '%(message)s'
121+
},
122+
{
123+
'type': 'file',
124+
'name': 'reframe.out',
125+
'level': 'INFO',
126+
'format': '%(message)s',
127+
'append': False,
128+
}
129+
]
130+
}
131+
132+
perf_logging_config = {
133+
'level': 'DEBUG',
134+
'handlers': [
135+
{
136+
'type': 'filelog',
137+
'prefix': '%(check_system)s/%(check_partition)s',
138+
'level': 'INFO',
139+
'format': (
140+
'%(check_job_completion_time)s|reframe %(version)s|'
141+
'%(check_info)s|jobid=%(check_jobid)s|'
142+
'num_tasks=%(check_num_tasks)s|'
143+
'%(check_perf_var)s=%(check_perf_value)s|'
144+
'ref=%(check_perf_ref)s '
145+
'(l=%(check_perf_lower_thres)s, '
146+
'u=%(check_perf_upper_thres)s)'
147+
),
148+
'datefmt': '%FT%T%:z',
149+
'append': True
150+
}
151+
]
152+
}
153+
154+
155+
settings = ReframeSettings()

config/cscs.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,35 @@ class ReframeSettings:
2323
'partitions': {
2424
'login': {
2525
'scheduler': 'local',
26-
'environs': ['PrgEnv-gnu'],
26+
'environs': ['builtin', 'PrgEnv-gnu'],
2727
'descr': 'Login nodes',
2828
'max_jobs': 4
2929
},
3030
'amdv100': {
3131
'scheduler': 'nativeslurm',
3232
'access': ['-pamdv100'],
33-
'environs': ['PrgEnv-gnu'],
33+
'environs': ['builtin', 'PrgEnv-gnu'],
3434
'descr': 'AMD Naples 32c + 2x NVIDIA V100',
3535
'max_jobs': 100,
3636
},
3737
'amdvega': {
3838
'scheduler': 'nativeslurm',
3939
'access': ['-pamdvega'],
40-
'environs': ['PrgEnv-gnu'],
40+
'environs': ['builtin', 'PrgEnv-gnu'],
4141
'descr': 'AMD Naples 32c + 3x AMD GFX900',
4242
'max_jobs': 100,
4343
},
4444
'intelv100': {
4545
'scheduler': 'nativeslurm',
4646
'access': ['-pintelv100'],
47-
'environs': ['PrgEnv-gnu'],
47+
'environs': ['builtin', 'PrgEnv-gnu'],
4848
'descr': 'Intel Skylake 36c + 4x NVIDIA V100',
4949
'max_jobs': 100,
5050
},
5151
'intel': {
5252
'scheduler': 'nativeslurm',
5353
'access': ['-pintel'],
54-
'environs': ['PrgEnv-gnu'],
54+
'environs': ['builtin', 'PrgEnv-gnu'],
5555
'descr': 'Intel Skylake 36c',
5656
'max_jobs': 100,
5757
}
@@ -66,7 +66,7 @@ class ReframeSettings:
6666
'partitions': {
6767
'login': {
6868
'scheduler': 'local',
69-
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
69+
'environs': ['builtin', 'PrgEnv-cray', 'PrgEnv-gnu',
7070
'PrgEnv-intel', 'PrgEnv-pgi'],
7171
'descr': 'Login nodes',
7272
'max_jobs': 4
@@ -91,7 +91,7 @@ class ReframeSettings:
9191
'scheduler': 'local',
9292
'modules': [],
9393
'access': [],
94-
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
94+
'environs': ['builtin', 'PrgEnv-cray', 'PrgEnv-gnu',
9595
'PrgEnv-intel', 'PrgEnv-pgi'],
9696
'descr': 'Login nodes',
9797
'max_jobs': 4
@@ -109,7 +109,7 @@ class ReframeSettings:
109109
},
110110
'modules': ['daint-gpu'],
111111
'access': ['--constraint=gpu'],
112-
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
112+
'environs': ['builtin', 'PrgEnv-cray', 'PrgEnv-gnu',
113113
'PrgEnv-intel', 'PrgEnv-pgi'],
114114
'descr': 'Hybrid nodes (Haswell/P100)',
115115
'max_jobs': 100,
@@ -130,7 +130,7 @@ class ReframeSettings:
130130
},
131131
'modules': ['daint-mc'],
132132
'access': ['--constraint=mc'],
133-
'environs': ['PrgEnv-cray', 'PrgEnv-gnu',
133+
'environs': ['builtin', 'PrgEnv-cray', 'PrgEnv-gnu',
134134
'PrgEnv-intel', 'PrgEnv-pgi'],
135135
'descr': 'Multicore nodes (Broadwell)',
136136
'max_jobs': 100,
@@ -168,9 +168,10 @@ class ReframeSettings:
168168
'scheduler': 'local',
169169
'modules': [],
170170
'access': [],
171-
'environs': ['PrgEnv-cray', 'PrgEnv-cray_classic',
172-
'PrgEnv-gnu', 'PrgEnv-intel',
173-
'PrgEnv-pgi'],
171+
'environs': [
172+
'builtin', 'PrgEnv-cray', 'PrgEnv-cray_classic',
173+
'PrgEnv-gnu', 'PrgEnv-intel', 'PrgEnv-pgi'
174+
],
174175
'descr': 'Login nodes',
175176
'max_jobs': 4
176177
},
@@ -187,9 +188,9 @@ class ReframeSettings:
187188
},
188189
'modules': ['daint-gpu'],
189190
'access': ['--constraint=gpu'],
190-
'environs': ['PrgEnv-cray', 'PrgEnv-cray_classic',
191-
'PrgEnv-gnu', 'PrgEnv-intel',
192-
'PrgEnv-pgi'],
191+
'environs': ['builtin', 'PrgEnv-cray',
192+
'PrgEnv-cray_classic', 'PrgEnv-gnu',
193+
'PrgEnv-intel', 'PrgEnv-pgi'],
193194
'descr': 'Hybrid nodes (Haswell/P100)',
194195
'max_jobs': 100,
195196
},
@@ -206,9 +207,9 @@ class ReframeSettings:
206207
},
207208
'modules': ['daint-mc'],
208209
'access': ['--constraint=mc'],
209-
'environs': ['PrgEnv-cray', 'PrgEnv-cray_classic',
210-
'PrgEnv-gnu', 'PrgEnv-intel',
211-
'PrgEnv-pgi'],
210+
'environs': ['builtin', 'PrgEnv-cray',
211+
'PrgEnv-cray_classic', 'PrgEnv-gnu',
212+
'PrgEnv-intel', 'PrgEnv-pgi'],
212213
'descr': 'Multicore nodes (Broadwell)',
213214
'max_jobs': 100,
214215
'resources': {
@@ -534,8 +535,8 @@ class ReframeSettings:
534535

535536
'builtin': {
536537
'cc': 'cc',
537-
'cxx': '',
538-
'ftn': '',
538+
'cxx': 'CC',
539+
'ftn': 'ftn',
539540
},
540541

541542
'builtin-gcc': {

cscs-checks/apps/amber/amber_check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class AmberBaseCheck(rfm.RunOnlyRegressionTest):
1313
def __init__(self, input_file, output_file):
1414
self.sourcesdir = os.path.join(self.current_system.resourcesdir,
1515
'Amber')
16-
self.valid_prog_environs = ['PrgEnv-gnu']
16+
self.valid_prog_environs = ['builtin']
1717
self.modules = ['Amber']
1818
self.num_tasks = 1
1919
self.num_tasks_per_node = 1

cscs-checks/apps/cp2k/cp2k_check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
class Cp2kCheck(rfm.RunOnlyRegressionTest):
1212
def __init__(self):
13-
self.valid_prog_environs = ['PrgEnv-gnu']
13+
self.valid_prog_environs = ['builtin']
1414
self.executable = 'cp2k.psmp'
1515
self.executable_opts = ['H2O-256.inp']
1616

cscs-checks/apps/cpmd/cpmd_check.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ def __init__(self, scale):
2121
self.valid_systems += ['dom:gpu']
2222
else:
2323
self.num_tasks = 16
24-
self.time_limit = (0, 20, 0)
2524

2625
self.num_tasks_per_node = 1
27-
self.valid_prog_environs = ['PrgEnv-intel']
26+
self.valid_prog_environs = ['builtin']
2827
self.modules = ['CPMD']
2928
self.executable = 'cpmd.x'
3029
self.executable_opts = ['ana_c4h6.in > stdout.txt']

cscs-checks/apps/espresso/espresso_check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, scale):
2020
'Espresso')
2121

2222
self.valid_systems = ['daint:mc']
23-
self.valid_prog_environs = ['PrgEnv-intel']
23+
self.valid_prog_environs = ['builtin']
2424
self.modules = ['QuantumESPRESSO']
2525
self.executable = 'pw.x'
2626
self.executable_opts = ['-in', 'ausurf.in']

0 commit comments

Comments
 (0)