Skip to content

Commit c4c0d77

Browse files
Merge branch 'master' into sanity_jupyter_tests
2 parents 1de6f05 + 792fd3d commit c4c0d77

39 files changed

+600
-568
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
[![Slack](https://reframe-slack.herokuapp.com/badge.svg)](https://reframe-slack.herokuapp.com/)<br/>
1414
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
1515
[![DOI](https://zenodo.org/badge/89384186.svg)](https://zenodo.org/badge/latestdoi/89384186)<br/>
16-
![Twitter Follow](https://img.shields.io/twitter/follow/ReFrameHPC?style=social)
16+
[![Twitter Follow](https://img.shields.io/twitter/follow/ReFrameHPC?style=social)](https://twitter.com/ReFrameHPC)
1717

1818
# ReFrame in a Nutshell
1919

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
FROM ubuntu:20.04
2+
3+
ENV TZ=Europe/Zurich
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
ENV _LMOD_VER=8.4.12
6+
7+
# ReFrame requirements
8+
RUN \
9+
apt-get -y update && \
10+
apt-get -y install ca-certificates && \
11+
update-ca-certificates && \
12+
apt-get -y install gcc make git python3 python3-pip
13+
14+
# Required utilities
15+
RUN apt-get -y install wget
16+
17+
# Install Lmod
18+
RUN \
19+
apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 && \
20+
wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \
21+
tar xzf lmod.tar.gz && \
22+
cd Lmod-${_LMOD_VER} && \
23+
./configure && make install && \
24+
cd .. && rm -rf lmod.tar.gz Lmod-${_LMOD_VER} && \
25+
apt-get clean && \
26+
rm -rf /var/lib/apt/lists/*
27+
28+
ENV BASH_ENV=/usr/local/lmod/lmod/init/profile

ci-scripts/dockerfiles/Lmod.dockerfile

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,12 @@
22
# Execute this from the top-level ReFrame source directory
33
#
44

5-
FROM ubuntu:20.04
65

7-
ENV TZ=Europe/Zurich
8-
ENV DEBIAN_FRONTEND=noninteractive
9-
ENV _LMOD_VER=8.4.12
6+
FROM reframehpc/rfm-ci-base:lmod
107

118
# ReFrame user
129
RUN useradd -ms /bin/bash rfmuser
1310

14-
# ReFrame requirements
15-
RUN \
16-
apt-get -y update && \
17-
apt-get -y install ca-certificates && \
18-
update-ca-certificates && \
19-
apt-get -y install gcc && \
20-
apt-get -y install make && \
21-
apt-get -y install git && \
22-
apt-get -y install python3 python3-pip
23-
24-
# Required utilities
25-
RUN apt-get -y install wget
26-
27-
# Install Lmod
28-
RUN \
29-
apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 && \
30-
wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \
31-
tar xzf lmod.tar.gz && \
32-
cd Lmod-${_LMOD_VER} && \
33-
./configure && make install
34-
35-
ENV BASH_ENV=/usr/local/lmod/lmod/init/profile
36-
3711
USER rfmuser
3812

3913
# Install ReFrame from the current directory
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#
2+
# LMod versions prior to 8.2 emitted Python commands differently, so we use this
3+
# Dockerfile to test the bindings of older versions
4+
#
5+
6+
7+
FROM ubuntu:20.04
8+
9+
ENV TZ=Europe/Zurich
10+
ENV DEBIAN_FRONTEND=noninteractive
11+
ENV _LMOD_VER=7.7
12+
13+
# ReFrame requirements
14+
RUN \
15+
apt-get -y update && \
16+
apt-get -y install ca-certificates && \
17+
update-ca-certificates && \
18+
apt-get -y install gcc make git python3 python3-pip
19+
20+
# Required utilities
21+
RUN apt-get -y install wget
22+
23+
# Install Lmod
24+
RUN \
25+
apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 lua-filesystem:amd64 lua-filesystem-dev:amd64 && \
26+
wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \
27+
tar xzf lmod.tar.gz && \
28+
cd Lmod-${_LMOD_VER} && \
29+
./configure && make install && \
30+
cd .. && rm -rf lmod.tar.gz Lmod-${_LMOD_VER} && \
31+
apt-get clean && \
32+
rm -rf /var/lib/apt/lists/*
33+
34+
ENV BASH_ENV=/usr/local/lmod/lmod/init/profile

ci-scripts/dockerfiles/Lmod77.dockerfile

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,12 @@
22
# Execute this from the top-level ReFrame source directory
33
#
44

5-
#
6-
# LMod versions prior to 8.2 emitted Python commands differently, so we use this
7-
# Dockerfile to test the bindings of older versions
8-
#
9-
105

11-
FROM ubuntu:20.04
12-
13-
ENV TZ=Europe/Zurich
14-
ENV DEBIAN_FRONTEND=noninteractive
15-
ENV _LMOD_VER=7.7
6+
FROM reframehpc/rfm-ci-base:lmod77
167

178
# ReFrame user
189
RUN useradd -ms /bin/bash rfmuser
1910

20-
# ReFrame requirements
21-
RUN \
22-
apt-get -y update && \
23-
apt-get -y install ca-certificates && \
24-
update-ca-certificates && \
25-
apt-get -y install gcc && \
26-
apt-get -y install make && \
27-
apt-get -y install git && \
28-
apt-get -y install python3 python3-pip
29-
30-
# Required utilities
31-
RUN apt-get -y install wget
32-
33-
# Install Lmod
34-
RUN \
35-
apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 lua-filesystem:amd64 lua-filesystem-dev:amd64 && \
36-
wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \
37-
tar xzf lmod.tar.gz && \
38-
cd Lmod-${_LMOD_VER} && \
39-
./configure && make install
40-
41-
ENV BASH_ENV=/usr/local/lmod/lmod/init/profile
42-
4311
USER rfmuser
4412

4513
# Install ReFrame from the current directory
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM centos:7
2+
3+
# ReFrame requirements
4+
RUN \
5+
yum -y install gcc make git python3
6+
7+
# Install Tmod 3.2
8+
RUN yum -y install environment-modules && \
9+
yum clean all && \
10+
rm -rf /var/cache/yum

ci-scripts/dockerfiles/Tmod32.dockerfile

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,11 @@
22
# Execute this from the top-level ReFrame source directory
33
#
44

5-
FROM centos:7
5+
FROM reframehpc/rfm-ci-base:tmod32
66

77
# ReFrame user
88
RUN useradd -ms /bin/bash rfmuser
99

10-
# ReFrame requirements
11-
RUN \
12-
yum -y install gcc && \
13-
yum -y install make && \
14-
yum -y install git && \
15-
yum -y install python3
16-
17-
# # Required utilities
18-
# RUN apt-get -y install wget
19-
20-
# Install Tmod 3.2
21-
RUN yum -y install environment-modules
22-
2310
USER rfmuser
2411

2512
# Install ReFrame from the current directory
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
FROM ubuntu:20.04
2+
3+
ENV TZ=Europe/Zurich
4+
ENV DEBIAN_FRONTEND=noninteractive
5+
ENV _TMOD_VER=4.6.0
6+
7+
# ReFrame requirements
8+
RUN \
9+
apt-get -y update && \
10+
apt-get -y install ca-certificates && \
11+
update-ca-certificates && \
12+
apt-get -y install gcc make git python3 python3-pip
13+
14+
# Required utilities
15+
RUN apt-get -y install wget
16+
17+
# Install Tmod4
18+
RUN \
19+
apt-get -y install autoconf tcl-dev && \
20+
wget -q https://github.com/cea-hpc/modules/archive/v${_TMOD_VER}.tar.gz -O tmod.tar.gz && \
21+
tar xzf tmod.tar.gz && \
22+
cd modules-${_TMOD_VER} && \
23+
./configure && make install && \
24+
cd .. && rm -rf tmod.tar.gz modules-${_TMOD_VER} && \
25+
apt-get clean && \
26+
rm -rf /var/lib/apt/lists/*
27+
28+
ENV BASH_ENV=/usr/local/Modules/init/profile.sh

ci-scripts/dockerfiles/Tmod4.dockerfile

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,11 @@
22
# Execute this from the top-level ReFrame source directory
33
#
44

5-
FROM ubuntu:20.04
6-
7-
ENV TZ=Europe/Zurich
8-
ENV DEBIAN_FRONTEND=noninteractive
9-
ENV _TMOD_VER=4.6.0
5+
FROM reframehpc/rfm-ci-base:tmod4
106

117
# ReFrame user
128
RUN useradd -ms /bin/bash rfmuser
139

14-
# ReFrame requirements
15-
RUN \
16-
apt-get -y update && \
17-
apt-get -y install ca-certificates && \
18-
update-ca-certificates && \
19-
apt-get -y install gcc && \
20-
apt-get -y install make && \
21-
apt-get -y install git && \
22-
apt-get -y install python3 python3-pip
23-
24-
# Required utilities
25-
RUN apt-get -y install wget
26-
27-
# Install Tmod4
28-
RUN \
29-
apt-get -y install autoconf && \
30-
apt-get -y install tcl-dev && \
31-
wget -q https://github.com/cea-hpc/modules/archive/v${_TMOD_VER}.tar.gz -O tmod.tar.gz && \
32-
tar xzf tmod.tar.gz && \
33-
cd modules-${_TMOD_VER} && \
34-
./configure && make install
35-
36-
ENV BASH_ENV=/usr/local/Modules/init/profile.sh
37-
3810
USER rfmuser
3911

4012
# Install ReFrame from the current directory

cscs-checks/system/slurm/slurm.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,3 +257,36 @@ def reference_meminfo(self):
257257
'pilatus:mc': 250,
258258
}
259259
return reference_meminfo[self.current_partition.fullname]
260+
261+
262+
@rfm.simple_test
263+
class slurm_response_check(rfm.RunOnlyRegressionTest):
264+
command = parameter(['squeue', 'sacct'])
265+
descr = 'Slurm command test'
266+
valid_systems = ['daint:login', 'dom:login']
267+
valid_prog_environs = ['builtin']
268+
num_tasks = 1
269+
num_tasks_per_node = 1
270+
reference = {
271+
'squeue': {
272+
'real_time': (0.02, None, 0.1, 's')
273+
},
274+
'sacct': {
275+
'real_time': (0.1, None, 0.1, 's')
276+
}
277+
}
278+
executable = 'time -p'
279+
tags = {'diagnostic', 'health'}
280+
maintainers = ['CB', 'VH']
281+
282+
@rfm.run_before('run')
283+
def set_exec_opts(self):
284+
self.executable_opts = [self.command]
285+
286+
@rfm.run_before('sanity')
287+
def set_sanity(self):
288+
self.sanity_patterns = sn.assert_eq(self.job.exitcode, 0)
289+
self.perf_patterns = {
290+
'real_time': sn.extractsingle(r'real (?P<real_time>\S+)',
291+
self.stderr, 'real_time', float)
292+
}

0 commit comments

Comments
 (0)