forked from pool/slurm
- Package the Slrum testsuite for QA purposes.
NOTE: This package is not meant to be used for testing by the user but rather for testing by the maintainers to ensure the package is working properly. DO NOT report test suite failures unless you are able to confirm that the failure is really a bug. OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=205
This commit is contained in:
parent
faa19fe22b
commit
2951a00ce2
@ -12,7 +12,22 @@ addFilter(".*obsolete-not-provided slurmdb-direct.*")
|
||||
# channel.
|
||||
addFilter("libnss_slurm\d_\d{2}_\d{2}.*: .* shlib-policy-name-error.*")
|
||||
|
||||
# slurms uses shared libraries for its plugins, so these plugins can have
|
||||
# slurms uses shared libraries for its plugins, so these plugins can have
|
||||
# no dependency information
|
||||
|
||||
addFilter(".*shared-library-without-dependency-information /usr/lib64/slurm/.*so")
|
||||
|
||||
# Testsuite is not meant to be installed on a running system.
|
||||
# The idea is to place the test suite into a package mostly unaltered
|
||||
# to place it to a test rig without requiring to install the full Slurm
|
||||
# sources.
|
||||
# Test setup requires /opt to be shared between nodes in a test system
|
||||
addFilter("slurm-testsuite.*: E: devel-file-in-non-devel-package .*")
|
||||
# For the same reason do not bother with /usr/bin/env expect
|
||||
addFilter("slurm-testsuite.*: E: env-script-interpreter .*")
|
||||
# Likewise, the test suite requires all of Slurm to be installed - even devel
|
||||
addFilter("slurm-testsuite.*: E: devel-dependency slurm-devel.*")
|
||||
# ... and in the same vein
|
||||
addFilter("slurm-testsuite.*: E: filelist-forbidden-opt /opt/slurmtest")
|
||||
addFilter("slurm-testsuite.*: E: non-executable-script /opt/slurmtest/testsuite/expect/.* .* /usr/bin/env (expect)|(bash)")
|
||||
addFilter("slurm-testsuite.*: E: spurious-executable-perm /opt/slurmtest/testsuite/expect/*.c)
|
||||
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 8 13:15:24 UTC 2022 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Package the Slrum testsuite for QA purposes.
|
||||
NOTE: This package is not meant to be used for testing by the
|
||||
user but rather for testing by the maintainers to ensure the
|
||||
package is working properly.
|
||||
DO NOT report test suite failures unless you are able to confirm
|
||||
that the failure is really a bug.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 31 12:56:05 UTC 2022 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
|
66
slurm.spec
66
slurm.spec
@ -29,6 +29,8 @@
|
||||
|
||||
%define pname slurm
|
||||
|
||||
%define slurm_testsuite 1
|
||||
|
||||
%ifarch i586 %arm s390
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
@ -556,6 +558,34 @@ Group: Productivity/Clustering/Computing
|
||||
Plugins for specific cray hardware, includes power and knl node management.
|
||||
Contains also cray specific documentation.
|
||||
|
||||
%package testsuite
|
||||
Summary: Regression tests from Slurm sources
|
||||
Group: Productivity/Clustering/Computing
|
||||
Requires: %{name} = %version
|
||||
Requires: %{name}-auth-none = %version
|
||||
Requires: %{name}-cray = %version
|
||||
Requires: %{name}-devel = %version
|
||||
Requires: %{name}-hdf5 = %version
|
||||
Requires: %{name}-lua = %version
|
||||
Requires: %{name}-munge = %version
|
||||
Requires: %{name}-node = %version
|
||||
Requires: %{name}-openlava = %version
|
||||
Requires: %{name}-rest = %version
|
||||
Requires: %{name}-seff = %version
|
||||
Requires: %{name}-sjstat = %version
|
||||
Requires: %{name}-slurmdbd = %version
|
||||
Requires: %{name}-sql = %version
|
||||
Requires: %{name}-torque = %version
|
||||
Requires: expect
|
||||
Requires: perl-%{name} = %version
|
||||
|
||||
%description testsuite
|
||||
The Slurm sources provide a number of regression tests implemented as 'expect'
|
||||
scripts.
|
||||
NOTE: Not all of the tests are expected to pass, some require a specific setup.
|
||||
This test package is meant for internal purposes.
|
||||
Do not run test suite and file bug reports for each failed test!
|
||||
|
||||
%prep
|
||||
%setup -q -n %{pname}-%{dl_ver}
|
||||
%patch0 -p1
|
||||
@ -763,7 +793,35 @@ cat > %{buildroot}/%{_sysconfdir}/%{pname}/nss_slurm.conf <<EOF
|
||||
## Specify if does not match hostname
|
||||
# NodeName myname
|
||||
EOF
|
||||
|
||||
# Install testsuite
|
||||
%if 0%{?slurm_testsuite}
|
||||
# bug in testsuite
|
||||
ln -sf /usr/lib64/libslurm.so %{buildroot}/usr/lib64/slurm/libslurm.so
|
||||
|
||||
mkdir -p %{buildroot}/opt/slurmtest
|
||||
pwd
|
||||
cd testsuite/expect
|
||||
filelist="$(grep '#include' *.c | cut -d: -f2 | grep src | sed -e 's/[^\"]*\"\([^\"]*\)\"/\1/' | sort | uniq)"
|
||||
filelist+=" $(grep -r "build_dir.*\.[oa]" | sed -e 's@.*[^ ]*{build_dir}/\([^\]*\.o\).*@\1@' | sort | uniq)"
|
||||
cd -
|
||||
pwd
|
||||
for i in $filelist; do
|
||||
dir=$(dirname $i)
|
||||
[ -d %{buildroot}/opt/slurmtest/$dir ] || mkdir -p %{buildroot}/opt/slurmtest/$dir
|
||||
cp -a $i %{buildroot}/opt/slurmtest/$dir/
|
||||
done
|
||||
mkdir -p %{buildroot}/opt/slurmtest/testsuite/expect
|
||||
cp -ax testsuite/expect/ %{buildroot}/opt/slurmtest/testsuite/
|
||||
cat > %{buildroot}/opt/slurmtest/testsuite/expect/globals.local <<EOF
|
||||
set slurm_dir "/usr/local"
|
||||
set build_dir "/opt/slurmtest/testsuite"
|
||||
set src_dir "/opt/slurmtest/testsuite"
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%fdupes -s %{buildroot}
|
||||
|
||||
# Temporary - remove when build is fixed upstream.
|
||||
%if !0%{?build_slurmrestd}
|
||||
rm -f %{buildroot}/%{_mandir}/man8/slurmrestd.*
|
||||
@ -1310,4 +1368,12 @@ exit 0
|
||||
%{_libdir}/slurm/power_cray_aries.so
|
||||
%endif
|
||||
|
||||
%if 0%{?slurm_testsuite}
|
||||
%files testsuite
|
||||
%doc testsuite/expect/README
|
||||
%dir /opt/slurmtest
|
||||
/opt/slurmtest/*
|
||||
%{_libdir}/slurm/libslurm.so
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user