summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRuss Allbery <rra@stanford.edu>2007-10-05 02:58:47 +0000
committerRuss Allbery <rra@stanford.edu>2007-10-05 02:58:47 +0000
commitdbd33500b645f9caaa6dbb7d18a3f4932b53847a (patch)
tree29ccd775f40db8b862e1a6c9851c503cfa0e503b /tests
parentf21fba65f194ff26bf72e23f0db311314529720b (diff)
The wallet client now automatically sets the sync attribute on a keytab
object when get is called with the -S flag.
Diffstat (limited to 'tests')
-rw-r--r--tests/client/basic-t.in35
-rwxr-xr-xtests/data/cmd-fake33
2 files changed, 63 insertions, 5 deletions
diff --git a/tests/client/basic-t.in b/tests/client/basic-t.in
index 6b05a3a..2a19b46 100644
--- a/tests/client/basic-t.in
+++ b/tests/client/basic-t.in
@@ -1,10 +1,10 @@
#! /bin/sh
# $Id$
#
-# Test suite for the remctl command-line client.
+# Test suite for the wallet command-line client.
#
# Written by Russ Allbery <rra@stanford.edu>
-# Copyright 2006 Board of Trustees, Leland Stanford Jr. University
+# Copyright 2006, 2007 Board of Trustees, Leland Stanford Jr. University
# See README for licensing terms.
# The count starts at 1 and is updated each time ok is printed. printcount
@@ -54,7 +54,7 @@ runfailure () {
}
# Print the number of tests.
-echo 12
+echo 17
# Find the client program.
if [ -f ../data/test.keytab ] ; then
@@ -65,7 +65,7 @@ else
fi
fi
if [ ! -f data/test.keytab ] || [ -z "@REMCTLD@" ] ; then
- for n in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
+ for n in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ; do
echo ok $n \# skip -- no Kerberos configuration
done
exit 0
@@ -121,6 +121,9 @@ EOF
fi
done
+# Make sure everything's clean.
+rm -f keytab keytab.bak srvtab srvtab.bak sync-kaserver
+
# Now, we can finally run our tests.
runsuccess "" -c fake-wallet get keytab -f keytab service/fake-test
if cmp keytab data/fake-data >/dev/null 2>&1 ; then
@@ -146,6 +149,24 @@ if cmp keytab.bak data/fake-data >/dev/null 2>&1 ; then
else
printcount "not ok"
fi
+if [ -f sync-kaserver ] ; then
+ printcount "ok"
+else
+ printcount "not ok"
+fi
+runsuccess "" -c fake-wallet get keytab -f keytab -S srvtab service/fake-srvtab
+if cmp keytab data/fake-keytab >/dev/null 2>&1 ; then
+ printcount "ok"
+ rm keytab
+else
+ printcount "not ok"
+fi
+if [ -f sync-kaserver ] ; then
+ printcount "ok"
+ rm sync-kaserver
+else
+ printcount "not ok"
+fi
if [ -n "$krb5conf" ] ; then
if cmp srvtab data/fake-srvtab >/dev/null 2>&1 ; then
printcount "ok"
@@ -153,6 +174,12 @@ if [ -n "$krb5conf" ] ; then
else
printcount "not ok"
fi
+ if cmp srvtab.bak data/fake-srvtab >/dev/null 2>&1 ; then
+ printcount "ok"
+ rm srvtab.bak
+ else
+ printcount "not ok"
+ fi
KRB5_CONFIG=
rm krb5.conf
else
diff --git a/tests/data/cmd-fake b/tests/data/cmd-fake
index 16d4b3a..e363651 100755
--- a/tests/data/cmd-fake
+++ b/tests/data/cmd-fake
@@ -12,12 +12,43 @@ if [ "$1" != "keytab" ] ; then
exit 1
fi
shift
-if [ -n "$2" ] ; then
+if [ "$command" = "attr" ] ; then
+ if [ -n "$4" ] ; then
+ echo "Too many arguments" >&2
+ exit 1
+ fi
+ if [ "$2" != sync ] ; then
+ echo "Unknown attribute $2" >&2
+ exit 1
+ fi
+fi
+if [ "$command" != "attr" ] && [ -n "$2" ] ; then
echo "Too many arguments" >&2
exit 1
fi
case "$command" in
+attr)
+ case "$1" in
+ service/fake-srvtab)
+ if [ -n "$3" ] ; then
+ if [ "$3" != "kaserver" ] ; then
+ echo "Invalid attribute value $3" >&2
+ exit 1
+ fi
+ touch sync-kaserver
+ else
+ if [ -f sync-kaserver ] ; then
+ echo "kaserver"
+ fi
+ fi
+ ;;
+ *)
+ echo "Looking at sync attribute of wrong keytab" >&2
+ exit 1
+ ;;
+ esac
+ ;;
get)
case "$1" in
service/fake-test)