From dbe948ca3ebdad97f4f2096f6074623fc2a8e3c8 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Fri, 5 Oct 2007 00:16:26 +0000 Subject: Pull the file writing code for the wallet client into a separate file so that the srvtab and keytab management can share it. Write atomically to a new file and then link and rename to do an atomic update. Leave a backup copy of any file that's replaced. --- tests/client/basic-t.in | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'tests/client/basic-t.in') diff --git a/tests/client/basic-t.in b/tests/client/basic-t.in index 50a4ab5..6b05a3a 100644 --- a/tests/client/basic-t.in +++ b/tests/client/basic-t.in @@ -54,7 +54,7 @@ runfailure () { } # Print the number of tests. -echo 10 +echo 12 # 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 ; do + for n in 1 2 3 4 5 6 7 8 9 10 11 12 ; do echo ok $n \# skip -- no Kerberos configuration done exit 0 @@ -125,10 +125,14 @@ done runsuccess "" -c fake-wallet get keytab -f keytab service/fake-test if cmp keytab data/fake-data >/dev/null 2>&1 ; then printcount "ok" - rm keytab else printcount "not ok" fi +if [ -f keytab.bak ] || [ -f keytab.new ] ; then + printcount "not ok" +else + printcount "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" @@ -136,6 +140,12 @@ if cmp keytab data/fake-keytab >/dev/null 2>&1 ; then else printcount "not ok" fi +if cmp keytab.bak data/fake-data >/dev/null 2>&1 ; then + printcount "ok" + rm keytab.bak +else + printcount "not ok" +fi if [ -n "$krb5conf" ] ; then if cmp srvtab data/fake-srvtab >/dev/null 2>&1 ; then printcount "ok" -- cgit v1.2.3