xref: /netbsd-src/external/bsd/openldap/dist/tests/scripts/test013-language (revision e670fd5c413e99c2f6a37901bb21c537fcd322d2)
12de962bdSlukem#! /bin/sh
2d11b170bStron# $OpenLDAP$
32de962bdSlukem## This work is part of OpenLDAP Software <http://www.openldap.org/>.
42de962bdSlukem##
5*e670fd5cSchristos## Copyright 1998-2021 The OpenLDAP Foundation.
62de962bdSlukem## All rights reserved.
72de962bdSlukem##
82de962bdSlukem## Redistribution and use in source and binary forms, with or without
92de962bdSlukem## modification, are permitted only as authorized by the OpenLDAP
102de962bdSlukem## Public License.
112de962bdSlukem##
122de962bdSlukem## A copy of this license is available in the file LICENSE in the
132de962bdSlukem## top-level directory of the distribution or, alternatively, at
142de962bdSlukem## <http://www.OpenLDAP.org/license.html>.
152de962bdSlukem
162de962bdSlukemecho "running defines.sh"
172de962bdSlukem. $SRCDIR/scripts/defines.sh
182de962bdSlukem
192de962bdSlukemmkdir -p $TESTDIR $DBDIR1
202de962bdSlukem
212de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..."
22*e670fd5cSchristos. $CONFFILTER $BACKEND < $CONF > $CONF1
23*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 &
242de962bdSlukemPID=$!
252de962bdSlukemif test $WAIT != 0 ; then
262de962bdSlukem    echo PID $PID
272de962bdSlukem    read foo
282de962bdSlukemfi
292de962bdSlukemKILLPIDS="$PID"
302de962bdSlukem
312de962bdSlukemsleep 1
322de962bdSlukem
332de962bdSlukemecho "Using ldapsearch to check that slapd is running..."
342de962bdSlukemfor i in 0 1 2 3 4 5; do
35*e670fd5cSchristos	$LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \
362de962bdSlukem		'objectclass=*' > /dev/null 2>&1
372de962bdSlukem	RC=$?
382de962bdSlukem	if test $RC = 0 ; then
392de962bdSlukem		break
402de962bdSlukem	fi
412de962bdSlukem	echo "Waiting 5 seconds for slapd to start..."
422de962bdSlukem	sleep 5
432de962bdSlukemdone
442de962bdSlukem
452de962bdSlukemecho "Using ldapadd to populate the database..."
46*e670fd5cSchristos$LDAPADD -D "$MANAGERDN" -H $URI1 -w $PASSWD < \
472de962bdSlukem	$LDIFLANG > $TESTOUT 2>&1
482de962bdSlukemRC=$?
492de962bdSlukemif test $RC != 0 ; then
502de962bdSlukem	echo "ldapadd failed ($RC)!"
512de962bdSlukem	test $KILLSERVERS != no && kill -HUP $KILLPIDS
522de962bdSlukem	exit $RC
532de962bdSlukemfi
542de962bdSlukem
552de962bdSlukemecho "Using ldapsearch to read all the entries..."
56*e670fd5cSchristos$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 -s base \
572de962bdSlukem	'(&)' > $SEARCHOUT 2>&1
582de962bdSlukemRC=$?
592de962bdSlukem
602de962bdSlukemif test $RC != 0 ; then
612de962bdSlukem	echo "ldapsearch failed ($RC)!"
622de962bdSlukem	test $KILLSERVERS != no && kill -HUP $KILLPIDS
632de962bdSlukem	exit $RC
642de962bdSlukemfi
652de962bdSlukem
662de962bdSlukemecho "Using ldapsearch to read name ..."
67*e670fd5cSchristos$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 -s base \
682de962bdSlukem	'(&)' 'name' >> $SEARCHOUT 2>&1
692de962bdSlukemRC=$?
702de962bdSlukem
712de962bdSlukemif test $RC != 0 ; then
722de962bdSlukem	echo "ldapsearch failed ($RC)!"
732de962bdSlukem	test $KILLSERVERS != no && kill -HUP $KILLPIDS
742de962bdSlukem	exit $RC
752de962bdSlukemfi
762de962bdSlukem
772de962bdSlukemecho "Using ldapsearch to read name language tag ..."
78*e670fd5cSchristos$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 -s base \
792de962bdSlukem	'(&)' 'name;lang-en-US' >> $SEARCHOUT 2>&1
802de962bdSlukemRC=$?
812de962bdSlukem
822de962bdSlukemif test $RC != 0 ; then
832de962bdSlukem	echo "ldapsearch failed ($RC)!"
842de962bdSlukem	test $KILLSERVERS != no && kill -HUP $KILLPIDS
852de962bdSlukem	exit $RC
862de962bdSlukemfi
872de962bdSlukem
882de962bdSlukemecho "Using ldapsearch to read name language range ..."
89*e670fd5cSchristos$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 -s base \
902de962bdSlukem	'(&)' 'name;lang-en-' >> $SEARCHOUT 2>&1
912de962bdSlukemRC=$?
922de962bdSlukem
932de962bdSlukemif test $RC != 0 ; then
942de962bdSlukem	echo "ldapsearch failed ($RC)!"
952de962bdSlukem	test $KILLSERVERS != no && kill -HUP $KILLPIDS
962de962bdSlukem	exit $RC
972de962bdSlukemfi
982de962bdSlukem
992de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS
1002de962bdSlukem
1012de962bdSlukemecho "Filtering ldapsearch results..."
102ef2f90d3Sadam$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
1032de962bdSlukemecho "Filtering language ldif ..."
104ef2f90d3Sadam$LDIFFILTER < $LDIFLANGOUT > $LDIFFLT
1052de962bdSlukemecho "Comparing filter output..."
1062de962bdSlukem$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
1072de962bdSlukem
1082de962bdSlukemif test $? != 0 ; then
1092de962bdSlukem	echo "comparison failed - language test failed!"
1102de962bdSlukem	exit 1
1112de962bdSlukemfi
1122de962bdSlukem
1132de962bdSlukemecho ">>>>> Test succeeded"
1142de962bdSlukem
1152de962bdSlukemtest $KILLSERVERS != no && wait
1162de962bdSlukem
1172de962bdSlukemexit 0
118