Skip to content

Commit d4ea5f4

Browse files
committed
Move slapd regression test to the top level test for project consistency.
1 parent 4b09702 commit d4ea5f4

File tree

8 files changed

+49
-13
lines changed

8 files changed

+49
-13
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
path: htmlcov
3737
- run: pip install --user .
3838
- run: sudo apt install -y slapd ldap-utils libnss-db db-util
39-
- run: debian/tests/regtest
39+
- run: tests/slapd-regtest
4040
- run:
4141
command: yapf --diff --recursive nss_cache nsscache
4242
no_output_timeout: 20m

debian/tests/control

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Tests: regtest
1+
Tests: slapd-regtest
22
Restrictions: allow-stderr
33
Depends: @,
44
slapd,

debian/tests/slapd-regtest

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
3+
set -x
4+
5+
if [[ -z ${ADTTMP-} ]]; then
6+
WORKDIR=$(mktemp -d -t nsscache.regtest.XXXXXX)
7+
ARTIFACTS=${WORKDIR}
8+
else
9+
WORKDIR=${ADTTMP}
10+
ARTIFACTS=${ADT_ARTIFACTS}
11+
fi
12+
13+
14+
export WORKDIR ARTIFACTS
15+
16+
17+
18+
cleanup() {
19+
if [[ -e "$WORKDIR/slapd.pid" ]]; then
20+
kill -TERM $(cat $WORKDIR/slapd.pid)
21+
fi
22+
if [[ -z ${ADTTMP-} ]]; then
23+
rm -rf $WORKDIR
24+
fi
25+
}
26+
27+
trap cleanup 0 INT QUIT ABRT PIPE TERM
28+
29+
../../tests/slapd-regtest

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
'nss_cache.update', 'nss_cache.sources'
4747
],
4848
scripts=['nsscache'],
49-
data_files=[('/etc', ['nsscache.conf'])],
49+
data_files=[('config', ['nsscache.conf'])],
5050
python_requires='~=3.4',
5151
setup_requires=['pytest-runner'],
5252
tests_require=['pytest', 'mox3', 'pytest-cov', 'python-coveralls'],
File renamed without changes.
File renamed without changes.

debian/tests/regtest tests/slapd-regtest

+17-10
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@ set -x
55
SLAPADD=/usr/sbin/slapadd
66
SLAPD=/usr/sbin/slapd
77

8-
if [[ -z ${ADTTMP-} ]]; then
8+
if [[ -z ${WORKDIR-} ]]; then
99
WORKDIR=$(mktemp -d -t nsscache.regtest.XXXXXX)
1010
ARTIFACTS=${WORKDIR}
11-
else
12-
WORKDIR=${ADTTMP}
13-
ARTIFACTS=${ADT_ARTIFACTS}
1411
fi
1512

1613
cleanup() {
@@ -24,12 +21,14 @@ cleanup() {
2421

2522
trap cleanup 0 INT QUIT ABRT PIPE TERM
2623

24+
TESTDIR=$(dirname -- "$0")
25+
2726
setup_slapd() {
2827
set -e
2928
mkdir -p $WORKDIR/ldap
3029
sed -e "s!@workdir@!$WORKDIR!" \
31-
< debian/tests/slapd.conf.tmpl > $ARTIFACTS/slapd.conf
32-
$SLAPADD -d -1 -f $ARTIFACTS/slapd.conf -b dc=example,dc=com -l debian/tests/default.ldif
30+
< ${TESTDIR}/slapd.conf.tmpl > $ARTIFACTS/slapd.conf
31+
$SLAPADD -d -1 -f $ARTIFACTS/slapd.conf -b dc=example,dc=com -l ${TESTDIR}/default.ldif
3332
$SLAPD -h ldapi://${WORKDIR//\//%2F}%2Fldapi -f $ARTIFACTS/slapd.conf &
3433
slappid=$!
3534
attempts=0
@@ -47,7 +46,7 @@ setup_slapd() {
4746
run_nsscache() {
4847
source=$1
4948
cache=$2
50-
config_orig="debian/tests/nsscache.conf.tmpl"
49+
config_orig="${TESTDIR}/slapd-nsscache.conf.tmpl"
5150
config=$(mktemp -p ${ARTIFACTS} nsscache.${source}.conf.XXXXXX)
5251
sed -e "s!@cache@!$cache!" \
5352
-e "s!@source@!$source!" \
@@ -96,14 +95,22 @@ test_files() {
9695
}
9796

9897
check () {
99-
which nsscache
100-
nsscache --version
98+
which nsscache
99+
if [[ $? -ne 0 ]]; then
100+
(
101+
cd ${TESTDIR}/..
102+
pip3 install --target="${WORKDIR}" .
103+
)
104+
export PATH=$PATH:${WORKDIR}/bin
105+
fi
106+
set -e
107+
nsscache --version
108+
set +e
101109
}
102110

103111
check
104112
setup_slapd
105113
run_nsscache ldap nssdb
106114
run_nsscache ldap files
107115

108-
109116
echo OK
File renamed without changes.

0 commit comments

Comments
 (0)