SHA256
1
0
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:
Egbert Eich 2022-06-08 13:21:55 +00:00 committed by Git OBS Bridge
parent faa19fe22b
commit 2951a00ce2
3 changed files with 92 additions and 1 deletions

View File

@ -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)

View File

@ -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>

View File

@ -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