diff options
| author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-08 16:09:50 -0400 |
|---|---|---|
| committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-07-08 16:09:50 -0400 |
| commit | 4243cda4352c9d6b35a4e10bec3c43e24822aa0e (patch) | |
| tree | 9a480d83f5dcf27e7914cc09d5362978365de4c3 | |
| parent | b2a75896ee8ae9a11ac9104687de86af0c2fb10a (diff) | |
- refinements to how we launch servers
| -rw-r--r-- | tests/config/dse.ldif.initial.in | 2 | ||||
| -rwxr-xr-x | tests/run-tests.sh | 39 | ||||
| -rw-r--r-- | tests/slapd.sh.in | 56 |
3 files changed, 86 insertions, 11 deletions
diff --git a/tests/config/dse.ldif.initial.in b/tests/config/dse.ldif.initial.in index 0adf137..1b88386 100644 --- a/tests/config/dse.ldif.initial.in +++ b/tests/config/dse.ldif.initial.in @@ -52,7 +52,7 @@ nsslapd-auditlog-logrotationtimeunit: day nsslapd-rootdn: cn=Directory Manager nsslapd-maxdescriptors: 1024 nsslapd-max-filter-nest-level: 40 -nsslapd-rootpw: {CRYPT}pZ/1nTe9jogXA +nsslapd-rootpw: {SSHA}I5PjkCi6hBa6qcemk39EqU2lZIdmFYk3JHR0MA== nsslapd-ldapifilepath: @abs_top_builddir@/tests/state/slapd-blade.socket nsslapd-ldapilisten: off nsslapd-ldapimaprootdn: cn=Directory Manager diff --git a/tests/run-tests.sh b/tests/run-tests.sh index d90c94e..feb7ae5 100755 --- a/tests/run-tests.sh +++ b/tests/run-tests.sh @@ -1,4 +1,39 @@ #!/bin/sh source slapd.sh -startslapd -stopslapd +for subdir in "$@" ; do + pushd $subdir > /dev/null + startslapd $TESTDIR/$subdir/dse.ldif + if test -x $TESTDIR/$subdir/before.sh ; then + $TESTDIR/$subdir/before.sh > before.out + if test -r $TESTDIR/$subdir/before.txt ; then + if cmp $TESTDIR/$subdir/before.txt before.out ; then + diff -u $TESTDIR/$subdir/before.txt before.out + stopslapd + exit 1 + fi + fi + fi + if test -x $TESTDIR/$subdir/change.sh ; then + $TESTDIR/$subdir/change.sh > change.out + if test -r $TESTDIR/$subdir/change.txt ; then + if cmp $TESTDIR/$subdir/change.txt change.out ; then + diff -u $TESTDIR/$subdir/change.txt change.out + stopslapd + exit 1 + fi + fi + fi + if test -x $TESTDIR/$subdir/after.sh ; then + $TESTDIR/$subdir/after.sh > after.out + if test -r $TESTDIR/$subdir/after.txt ; then + if cmp $TESTDIR/$subdir/after.txt after.out ; then + diff -u $TESTDIR/$subdir/after.txt after.out + stopslapd + exit 1 + fi + fi + fi + stopslapd + popd > /dev/null +done +exit 0 diff --git a/tests/slapd.sh.in b/tests/slapd.sh.in index 10256b5..8909bbc 100644 --- a/tests/slapd.sh.in +++ b/tests/slapd.sh.in @@ -2,22 +2,62 @@ SLAPD=@SLAPD@ TESTDIR=@abs_srcdir@ STATEDIR=@abs_builddir@/state + +YP="@abs_builddir@/clients/yp -p @test_nisport@" +export YP + +PORT=@test_ldapport@ +export PORT +PW=password +export PW +add() { + ldapadd -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +modify() { + ldapmodify -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +modrdn() { + ldapmodrdn -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +delete() { + ldapdelete -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +search() { + ldapsearch -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +compare() { + ldapcompare -h localhost -p $PORT -x -D "cn=Directory Manager" -w $PW "$@" +} +export -f add modify modrdn delete search compare + rm -rf $STATEDIR/db for subdir in bak db/userRoot ldif lock log tmp ; do test -d $STATEDIR/$subdir || mkdir -p $STATEDIR/$subdir done +stopslapd() { + if test -s $STATEDIR/pid ; then + pid=`cat $STATEDIR/pid` + kill -s HUP $pid 2> /dev/null + sleep 1 + if kill -s 0 $pid 2> /dev/null ; then + kill $pid 2> /dev/null + sleep 1 + if kill -s 0 $pid 2> /dev/null ; then + kill -s 9 $pid 2> /dev/null + sleep 1 + fi + fi + if ! kill -s 0 $pid 2> /dev/null ; then + rm -f $STATEDIR/pid + fi + fi +} startslapd() { + stopslapd cat $TESTDIR/config/dse.ldif.initial > $TESTDIR/config/dse.ldif - if test -n "$1" ; then + if test -n "$1" && test -s "$1" ; then cat "$1" >> $TESTDIR/config/dse.ldif fi @NIS_PLUGIN_CONTINUE_WITHOUT_PORTMAP_ENV@=1 \ $SLAPD -D $TESTDIR/config -i $STATEDIR/pid -w $STATEDIR/pid } -stopslapd() { - if test -s $STATEDIR/pid ; then - if kill `cat $STATEDIR/pid` ; then - rm -f $STATEDIR/pid - fi - fi -} |
