Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
easyblock = 'PythonBundle'

name = 'pytest-xdist'
version = '3.6.1'

homepage = 'https://github.com/pytest-dev/pytest-xdist'
description = """xdist: pytest distributed testing plugin

The pytest-xdist plugin extends pytest with some unique test execution modes:

* test run parallelization: if you have multiple CPUs or hosts you
can use those for a combined test run. This allows to speed up
development or to use special resources of remote machines.

* --looponfail: run your tests repeatedly in a subprocess. After
each run pytest waits until a file in your project changes and
then re-runs the previously failing tests. This is repeated
until all tests pass after which again a full run is
performed.

* Multi-Platform coverage: you can specify different Python
interpreters or different platforms and run tests in parallel on
all of them.

Before running tests remotely, pytest efficiently “rsyncs” your
program source code to the remote place. All test results are reported
back and displayed to your local terminal. You may specify different
Python versions and interpreters."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
('hatchling', '1.24.2'),
]

dependencies = [
('Python', '3.12.3'),
('pytest', '8.3.3'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('apipkg', '3.0.2', {
'checksums': ['c7aa61a4f82697fdaa667e70af1505acf1f7428b1c27b891d204ba7a8a3c5e0d'],
}),
('execnet', '2.1.1', {
'checksums': ['5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3'],
}),
(name, version, {
'modulename': 'xdist',
'source_tmpl': 'pytest_xdist-%(version)s.tar.gz',
'checksums': ['ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d'],
}),
]

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'tools'
72 changes: 72 additions & 0 deletions easybuild/easyconfigs/p/pytest/pytest-8.3.3-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
easyblock = 'PythonBundle'

name = 'pytest'
version = '8.3.3'

homepage = 'https://docs.pytest.org/en/latest/'
description = """The pytest framework makes it easy to write small,
readable tests, and can scale to support complex functional testing for
applications and libraries."""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
('hatchling', '1.24.2'),
]

dependencies = [
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'),
]

use_pip = True

exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]}

# Note! Some of the file system related tests may fail on shared file systems.
# Notably TestPOSIXLocalPath.test_copy_stat_file, TestPOSIXLocalPath.test_copy_stat_dir
# and test_source_mtime_long_long are known to fail on GPFS
# Build with buildpath and tmpdir set to a local file system to avoid this
# or use --ignore-test-failures
_skip_tests = [
'testing/io/test_terminalwriter.py',
'testing/test_terminal.py',
'testing/test_debugging.py',
'testing/test_config.py',
'testing/test_helpconfig.py',
]
_ignore_tests = ' --ignore='.join(_skip_tests)

exts_list = [
('setuptools-scm', '8.1.0', {
'source_tmpl': 'setuptools_scm-%(version)s.tar.gz',
'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'],
}),
('flit-core', '3.10.1', {
'source_tmpl': 'flit_core-%(version)s.tar.gz',
'checksums': ['66e5b87874a0d6e39691f0e22f09306736b633548670ad3c09ec9db03c5662f7'],
}),
('hypothesis', '6.119.0', {
'checksums': ['ca441c6ef55d17f27f642fa08657e80f9c13d9da7ae191c8ad58fbc2f16acd1b'],
}),
('elementpath', '4.6.0', {
'checksums': ['ba46bf07f66774927727ade55022b6c435fac06b2523cb3cd7689a1884d33468'],
}),
('xmlschema', '3.4.3', {
'checksums': ['0c638dac81c7d6c9da9a8d7544402c48cffe7ee0e13cc47fc0c18794d1395dfb'],
}),
(name, version, {
'checksums': ['70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181'],
}),
]

sanity_check_commands = [
"python -c 'import pytest'",
'cd %%(builddir)s/%%(name)s/%%(name)s-%%(version)s && %%(installdir)s/bin/pytest --ignore=%s testing'
% _ignore_tests,
]

sanity_pip_check = True

moduleclass = 'lib'