- Support concurrent runs of the test suite on a single build host.
This commit is contained in:
parent
fc46195105
commit
79f6667ff3
53
nss.spec
53
nss.spec
@ -4,7 +4,7 @@
|
||||
Summary: Network Security Services
|
||||
Name: nss
|
||||
Version: 3.11.99.3
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
URL: http://www.mozilla.org/projects/security/pki/nss/
|
||||
Group: System Environment/Libraries
|
||||
@ -16,6 +16,7 @@ BuildRequires: sqlite-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: gawk
|
||||
BuildRequires: psmisc
|
||||
BuildRequires: perl
|
||||
Provides: mozilla-nss
|
||||
Obsoletes: mozilla-nss
|
||||
|
||||
@ -161,21 +162,49 @@ chmod 755 $RPM_BUILD_ROOT/%{_bindir}/nss-config
|
||||
# enable the following line to force a test failure
|
||||
# find ./mozilla -name \*.chk | xargs rm -f
|
||||
|
||||
# test suite fails on ppc64 and ppc
|
||||
### test suite fails on ppc64 and ppc, temporarily disable
|
||||
%ifnarch ppc64 ppc
|
||||
|
||||
# run test suite
|
||||
killall selfserv || :
|
||||
# Run test suite.
|
||||
# In order to support multiple concurrent executions of the test suite
|
||||
# (caused by concurrent RPM builds) on a single host,
|
||||
# we'll use a random port. Also, we want to clean up any stuck
|
||||
# selfserv processes. If process name "selfserv" is used everywhere,
|
||||
# we can't simply do a "killall selfserv", because it could disturb
|
||||
# concurrent builds. Therefore we'll do a search and replace and use
|
||||
# a different process name.
|
||||
# Using xargs doesn't mix well with spaces in filenames, in order to
|
||||
# avoid weird quoting we'll require that no spaces are being used.
|
||||
|
||||
SPACEISBAD=`find ./mozilla/security/nss/tests | grep -c ' '` ||:
|
||||
if [ SPACEISBAD -ne 0 ]; then
|
||||
echo "error: filenames containing space are not supported (xargs)"
|
||||
exit 1
|
||||
fi
|
||||
MYRAND=`perl -e 'print 9000 + int rand 1000'`; echo $MYRAND ||:
|
||||
RANDSERV=selfserv_${MYRAND}; echo $RANDSERV ||:
|
||||
DISTBINDIR=`ls -d ./mozilla/dist/*.OBJ/bin`; echo $DISTBINDIR ||:
|
||||
pushd `pwd`
|
||||
cd $DISTBINDIR
|
||||
ln -s selfserv $RANDSERV
|
||||
popd
|
||||
# man perlrun, man perlrequick
|
||||
# replace word-occurrences of selfserv with selfserv_$MYRAND
|
||||
find ./mozilla/security/nss/tests -type f |\
|
||||
grep -v "\.db$" |grep -v "\.crl$" | grep -v "\.crt$" |\
|
||||
grep -vw CVS |xargs grep -lw selfserv |\
|
||||
xargs -l perl -pi -e "s/\bselfserv\b/$RANDSERV/g" ||:
|
||||
|
||||
killall $RANDSERV || :
|
||||
|
||||
rm -rf ./mozilla/tests_results
|
||||
cd ./mozilla/security/nss/tests/
|
||||
%ifarch x86_64 s390x ppc64
|
||||
TEST_BIND_PORT=8564
|
||||
%else
|
||||
TEST_BIND_PORT=8532
|
||||
%endif
|
||||
HOST=localhost DOMSUF=localdomain PORT=$TEST_BIND_PORT ./all.sh
|
||||
# all.sh is the test suite script
|
||||
HOST=localhost DOMSUF=localdomain PORT=$MYRAND ./all.sh
|
||||
cd ../../../../
|
||||
|
||||
killall $RANDSERV || :
|
||||
|
||||
TEST_FAILURES=`grep -c FAILED ./mozilla/tests_results/security/localhost.1/output.log` || :
|
||||
if [ $TEST_FAILURES -ne 0 ]; then
|
||||
echo "error: test suite returned failure(s)"
|
||||
@ -183,7 +212,7 @@ if [ $TEST_FAILURES -ne 0 ]; then
|
||||
fi
|
||||
echo "test suite completed"
|
||||
|
||||
# end of ifarch for test suite
|
||||
### end of ifnarch for test suite
|
||||
%endif
|
||||
|
||||
|
||||
@ -406,6 +435,8 @@ done
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Feb 15 2008 Kai Engert <kengert@redhat.com> - 3.11.99.3-5
|
||||
- Support concurrent runs of the test suite on a single build host.
|
||||
* Thu Feb 14 2008 Kai Engert <kengert@redhat.com> - 3.11.99.3-4
|
||||
- disable test suite on ppc
|
||||
* Thu Feb 14 2008 Kai Engert <kengert@redhat.com> - 3.11.99.3-3
|
||||
|
Loading…
Reference in New Issue
Block a user