reframe-hpc 4.10.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- reframe/__init__.py +26 -0
- reframe/core/backends.py +72 -0
- reframe/core/buildsystems.py +1027 -0
- reframe/core/builtins.py +240 -0
- reframe/core/config.py +720 -0
- reframe/core/containers.py +302 -0
- reframe/core/decorators.py +248 -0
- reframe/core/deferrable.py +397 -0
- reframe/core/environments.py +340 -0
- reframe/core/exceptions.py +485 -0
- reframe/core/fields.py +206 -0
- reframe/core/fixtures.py +1061 -0
- reframe/core/hooks.py +214 -0
- reframe/core/launchers/__init__.py +153 -0
- reframe/core/launchers/local.py +18 -0
- reframe/core/launchers/mpi.py +198 -0
- reframe/core/launchers/rsh.py +39 -0
- reframe/core/logging.py +1186 -0
- reframe/core/meta.py +1007 -0
- reframe/core/modules.py +1045 -0
- reframe/core/namespaces.py +165 -0
- reframe/core/parameters.py +478 -0
- reframe/core/pipeline.py +3582 -0
- reframe/core/runtime.py +505 -0
- reframe/core/schedulers/__init__.py +731 -0
- reframe/core/schedulers/flux.py +153 -0
- reframe/core/schedulers/local.py +218 -0
- reframe/core/schedulers/lsf.py +150 -0
- reframe/core/schedulers/oar.py +200 -0
- reframe/core/schedulers/pbs.py +410 -0
- reframe/core/schedulers/registry.py +44 -0
- reframe/core/schedulers/sge.py +140 -0
- reframe/core/schedulers/slurm.py +825 -0
- reframe/core/schedulers/ssh.py +228 -0
- reframe/core/settings.py +97 -0
- reframe/core/shell.py +131 -0
- reframe/core/systems.py +737 -0
- reframe/core/variables.py +973 -0
- reframe/core/warnings.py +101 -0
- reframe/frontend/__init__.py +0 -0
- reframe/frontend/argparse.py +369 -0
- reframe/frontend/autodetect.py +288 -0
- reframe/frontend/ci.py +104 -0
- reframe/frontend/cli.py +1930 -0
- reframe/frontend/dependencies.py +273 -0
- reframe/frontend/executors/__init__.py +874 -0
- reframe/frontend/executors/policies.py +671 -0
- reframe/frontend/filters.py +126 -0
- reframe/frontend/loader.py +248 -0
- reframe/frontend/printer.py +303 -0
- reframe/frontend/reporting/__init__.py +801 -0
- reframe/frontend/reporting/storage.py +462 -0
- reframe/frontend/reporting/utility.py +449 -0
- reframe/frontend/testgenerators.py +245 -0
- reframe/schemas/config.json +733 -0
- reframe/schemas/junit.xsd +212 -0
- reframe/schemas/runreport.json +130 -0
- reframe/utility/__init__.py +1496 -0
- reframe/utility/color.py +91 -0
- reframe/utility/cpuinfo.py +299 -0
- reframe/utility/jsonext.py +145 -0
- reframe/utility/osext.py +967 -0
- reframe/utility/profile.py +90 -0
- reframe/utility/sanity.py +1059 -0
- reframe/utility/typecheck.py +488 -0
- reframe/utility/udeps.py +166 -0
- reframe/utility/versioning.py +91 -0
- reframe_hpc-4.10.0.data/data/share/bash-completion/completions/reframe +46 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/config/mysettings.py +164 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/cscs-webinar-2022.cast +4228 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/src/stream.c +585 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream1.py +14 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream2.py +18 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream3.py +29 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream4.py +43 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream5.py +46 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream6.py +48 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream7.py +59 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream8.py +75 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/cscs-webinar-2022/tests/stream9.py +87 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/flux/README.md +4 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/flux/example1.py +30 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/flux/settings.py +85 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/reference_index.py +94 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/testlib/__init__.py +0 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/testlib/simple.py +27 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/testlib/utility/__init__.py +7 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/howto/testlib_example.py +12 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/baseline.py +29 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/baseline.yaml +18 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/baseline_contplatf.py +24 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/baseline_environs.py +43 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/baseline_modules.py +24 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster.py +71 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster_logging.py +94 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster_mpi.py +78 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster_perflogs.py +90 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster_perflogs_httpjson.py +128 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/cluster_resources.py +71 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/multifile/common/settings.py +32 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/multifile/environments/settings.py +27 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/config/multifile/pseudo-cluster/settings.py +31 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/containers/container_test.py +26 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/deps/deps_complex.py +197 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/deps/parameterized.py +40 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/eb-spack.dockerfile +38 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/flux.dockerfile +13 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/singlenode.Dockerfile +31 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/README.txt +6 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/dbd/Dockerfile +38 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/dbd/cgroup.conf +5 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/dbd/docker-entrypoint.sh +19 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/dbd/slurm.conf +156 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/dbd/slurmdbd.conf +35 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/docker-compose.yml +163 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/master/Dockerfile +24 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/master/docker-entrypoint.sh +6 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/munge/Dockerfile +19 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/munge/entrypoint.sh +5 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/node/Dockerfile +35 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/node/docker-entrypoint.sh +6 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/reframe/Dockerfile +49 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dockerfiles/slurm-cluster/reframe/docker-entrypoint.sh +11 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/dummy/params.py +49 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/easybuild/eb_test.py +30 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/mpi/osu.py +111 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/mpi/osu_deps.py +126 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/scripts/runall.sh +23 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/spack/spack_test.py +27 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/src/stream.c +585 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_build_run.py +33 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_config.yaml +18 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_cpuinfo.py +51 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_fixtures.py +46 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_make.py +51 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_multistep.py +52 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_parameters.py +51 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_parameters_fixtures.py +53 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_runonly.py +26 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_runonly_xfail.py +26 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_runonly_xfail_cond.py +31 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_variables.py +50 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_variables_fixtures.py +50 -0
- reframe_hpc-4.10.0.data/data/share/doc/reframe-hpc/examples/tutorial/stream/stream_workflows.py +62 -0
- reframe_hpc-4.10.0.data/data/share/fish/vendor_completions.d/reframe.fish +17 -0
- reframe_hpc-4.10.0.data/data/share/reframe/completions/reframe.tcsh +1 -0
- reframe_hpc-4.10.0.dist-info/METADATA +234 -0
- reframe_hpc-4.10.0.dist-info/RECORD +151 -0
- reframe_hpc-4.10.0.dist-info/WHEEL +4 -0
- reframe_hpc-4.10.0.dist-info/entry_points.txt +2 -0
- reframe_hpc-4.10.0.dist-info/licenses/LICENSE +29 -0
reframe/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright 2016-2026 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
|
+
import os
|
|
7
|
+
import sys
|
|
8
|
+
|
|
9
|
+
VERSION = '4.10.0'
|
|
10
|
+
INSTALL_PREFIX = os.path.normpath(
|
|
11
|
+
os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
|
12
|
+
)
|
|
13
|
+
MIN_PYTHON_VERSION = (3, 10)
|
|
14
|
+
|
|
15
|
+
# Check python version
|
|
16
|
+
if sys.version_info[:3] < MIN_PYTHON_VERSION:
|
|
17
|
+
sys.stderr.write('Unsupported Python version: '
|
|
18
|
+
'Python >= %d.%d is required\n' % MIN_PYTHON_VERSION)
|
|
19
|
+
sys.exit(1)
|
|
20
|
+
|
|
21
|
+
os.environ['RFM_INSTALL_PREFIX'] = INSTALL_PREFIX
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# Import important names for user tests
|
|
25
|
+
from reframe.core.pipeline import * # noqa: F401, F403, E402
|
|
26
|
+
from reframe.core.decorators import * # noqa: F401, F403, E402
|
reframe/core/backends.py
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Copyright 2016-2024 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
|
+
import importlib
|
|
8
|
+
import functools
|
|
9
|
+
|
|
10
|
+
import reframe.core.fields as fields
|
|
11
|
+
from reframe.core.exceptions import ConfigError
|
|
12
|
+
|
|
13
|
+
_launcher_backend_modules = [
|
|
14
|
+
'reframe.core.launchers.local',
|
|
15
|
+
'reframe.core.launchers.mpi',
|
|
16
|
+
'reframe.core.launchers.rsh'
|
|
17
|
+
]
|
|
18
|
+
_launchers = {}
|
|
19
|
+
_scheduler_backend_modules = [
|
|
20
|
+
'reframe.core.schedulers.flux',
|
|
21
|
+
'reframe.core.schedulers.local',
|
|
22
|
+
'reframe.core.schedulers.lsf',
|
|
23
|
+
'reframe.core.schedulers.pbs',
|
|
24
|
+
'reframe.core.schedulers.oar',
|
|
25
|
+
'reframe.core.schedulers.sge',
|
|
26
|
+
'reframe.core.schedulers.slurm',
|
|
27
|
+
'reframe.core.schedulers.ssh'
|
|
28
|
+
]
|
|
29
|
+
_schedulers = {}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def _register_backend(name, local=False, error=None, *, backend_type):
|
|
33
|
+
def do_register(cls):
|
|
34
|
+
registry = globals()[f'_{backend_type}s']
|
|
35
|
+
if name in registry:
|
|
36
|
+
raise ConfigError(
|
|
37
|
+
f"'{name}' is already registered as a {backend_type}"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
cls.is_local = fields.ConstantField(bool(local))
|
|
41
|
+
cls.registered_name = fields.ConstantField(name)
|
|
42
|
+
registry[name] = (cls, error)
|
|
43
|
+
return cls
|
|
44
|
+
|
|
45
|
+
return do_register
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def _get_backend(name, *, backend_type):
|
|
49
|
+
backend_modules = globals()[f'_{backend_type}_backend_modules']
|
|
50
|
+
for mod in backend_modules:
|
|
51
|
+
importlib.import_module(mod)
|
|
52
|
+
|
|
53
|
+
try:
|
|
54
|
+
cls, error = globals()[f'_{backend_type}s'][name]
|
|
55
|
+
if error:
|
|
56
|
+
raise ConfigError(
|
|
57
|
+
f'could not register {backend_type} backend: {error}'
|
|
58
|
+
)
|
|
59
|
+
except KeyError:
|
|
60
|
+
raise ConfigError(f'no such {backend_type}: {name!r}')
|
|
61
|
+
else:
|
|
62
|
+
return cls
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
register_scheduler = functools.partial(
|
|
66
|
+
_register_backend, backend_type='scheduler'
|
|
67
|
+
)
|
|
68
|
+
register_launcher = functools.partial(
|
|
69
|
+
_register_backend, backend_type='launcher'
|
|
70
|
+
)
|
|
71
|
+
getscheduler = functools.partial(_get_backend, backend_type='scheduler')
|
|
72
|
+
getlauncher = functools.partial(_get_backend, backend_type='launcher')
|