diff options
Diffstat (limited to 'tests/client')
-rw-r--r-- | tests/client/basic-t.in | 2 | ||||
-rw-r--r-- | tests/client/full-t.in | 24 | ||||
-rw-r--r-- | tests/client/prompt-t.in | 20 | ||||
-rw-r--r-- | tests/client/rekey-t.in | 20 |
4 files changed, 35 insertions, 31 deletions
diff --git a/tests/client/basic-t.in b/tests/client/basic-t.in index 836f394..974b636 100644 --- a/tests/client/basic-t.in +++ b/tests/client/basic-t.in @@ -2,7 +2,7 @@ # # Test suite for the wallet command-line client. # -# Written by Russ Allbery <rra@stanford.edu> +# Written by Russ Allbery <eagle@eyrie.org> # Copyright 2006, 2007, 2008, 2010 # The Board of Trustees of the Leland Stanford Junior University # diff --git a/tests/client/full-t.in b/tests/client/full-t.in index ebdba03..4861723 100644 --- a/tests/client/full-t.in +++ b/tests/client/full-t.in @@ -1,21 +1,23 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl # # End-to-end tests for the wallet client. # -# Written by Russ Allbery <rra@stanford.edu> -# Copyright 2008, 2010 +# Written by Russ Allbery <eagle@eyrie.org> +# Copyright 2008, 2010, 2014 # The Board of Trustees of the Leland Stanford Junior University # # See LICENSE for licensing terms. +use strict; +use warnings; + # Point to our server configuration. This must be done before Wallet::Config # is loaded, and it's pulled in as a prerequisite for Wallet::Admin. BEGIN { $ENV{WALLET_CONFIG} = "$ENV{SOURCE}/data/wallet.conf" } -BEGIN { our $total = 59 } -use Test::More tests => $total; +use Test::More tests => 59; -use lib "$ENV{SOURCE}/../perl"; +use lib "$ENV{SOURCE}/../perl/lib"; use Wallet::Admin; use lib "$ENV{SOURCE}/../perl/t/lib"; @@ -56,10 +58,10 @@ sub wallet { chdir "$ENV{SOURCE}" or die "Cannot chdir to $ENV{SOURCE}: $!\n"; SKIP: { - skip 'no keytab configuration', $total + skip 'no keytab configuration', 59 unless -f "$ENV{BUILD}/config/keytab"; my $remctld = '@REMCTLD@'; - skip 'remctld not found', $total unless $remctld; + skip 'remctld not found', 59 unless $remctld; # Spawn remctld and get local tickets. Don't destroy the user's Kerberos # ticket cache. @@ -188,8 +190,12 @@ SKIP: { # All done. remctld_stop; $admin->destroy; - unlink ('wallet-db', 'krb5cc_test', 'test-pid'); if (-d 'test-files') { system ('rm', '-r', 'test-files'); } } + +# Clean up the database and other test files at the end of the test. +END { + unlink ('wallet-db', 'krb5cc_test', 'test-pid'); +} diff --git a/tests/client/prompt-t.in b/tests/client/prompt-t.in index 06991cc..686cc88 100644 --- a/tests/client/prompt-t.in +++ b/tests/client/prompt-t.in @@ -1,17 +1,19 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl # # Password prompting tests for the wallet client. # -# Written by Russ Allbery <rra@stanford.edu> -# Copyright 2008, 2010 +# Written by Russ Allbery <eagle@eyrie.org> +# Copyright 2008, 2010, 2014 # The Board of Trustees of the Leland Stanford Junior University # # See LICENSE for licensing terms. -BEGIN { our $total = 5 } -use Test::More tests => $total; +use strict; +use warnings; -use lib "$ENV{SOURCE}/..//perl"; +use Test::More tests => 5; + +use lib "$ENV{SOURCE}/../perl/lib"; use Wallet::Admin; use lib "$ENV{SOURCE}/../perl/t/lib"; @@ -21,12 +23,12 @@ use Util; chdir "$ENV{SOURCE}" or die "Cannot chdir to $ENV{SOURCE}: $!\n"; SKIP: { - skip 'no password configuration', $total + skip 'no password configuration', 5 unless -f "$ENV{BUILD}/config/password"; my $remctld = '@REMCTLD@'; - skip 'remctld not found', $total unless $remctld; + skip 'remctld not found', 5 unless $remctld; eval { require Expect }; - skip 'Expect module not found', $total if $@; + skip 'Expect module not found', 5 if $@; # Disable sending of wallet's output to our standard output. Do this # twice to avoid Perl warnings. diff --git a/tests/client/rekey-t.in b/tests/client/rekey-t.in index 0cfcb5d..c93b8eb 100644 --- a/tests/client/rekey-t.in +++ b/tests/client/rekey-t.in @@ -2,7 +2,7 @@ # # Test suite for the wallet-rekey command-line client. # -# Written by Russ Allbery <rra@stanford.edu> +# Written by Russ Allbery <eagle@eyrie.org> # Copyright 2006, 2007, 2008, 2010 # The Board of Trustees of the Leland Stanford Junior University # @@ -45,7 +45,7 @@ elif [ -z '@REMCTLD@' ] ; then rm krb5.conf skip_all 'No remctld found' else - plan 9 + plan 8 fi remctld_start '@REMCTLD@' "$SOURCE/data/basic.conf" wallet="$BUILD/../client/wallet-rekey" @@ -68,31 +68,27 @@ ok '...and the keytab was untouched' cmp keytab data/fake-keytab-foreign rm -f keytab # Rekeying a keytab where we can't retrieve the principal should produce an -# error message and abort when it's the first principal. +# error message. cp data/fake-keytab-unknown keytab ok_program 'unknown wallet-rekey' 1 \ 'wallet: Unknown keytab service/real-keytab wallet: error rekeying for principal service/real-keytab -wallet: aborting, keytab unchanged' \ +wallet: no rekeyable principals found' \ "$wallet" -k "$principal" -p 14373 -s localhost -c fake-wallet keytab ok '...and the keytab was untouched' cmp keytab data/fake-keytab-unknown rm -f keytab -# Rekeying a keytab where we can't retrieve a later principal should leave the -# original keytab as keytab.old and store, in the new keytab, only the things -# that it was able to rekey. +# Rekeying a keytab where we can't retrieve a later principal should add the +# things we were able to download and produce a warning. cp data/fake-keytab-partial keytab ok_program 'partial wallet-rekey' 1 \ 'wallet: Unknown keytab service/real-keytab -wallet: error rekeying for principal service/real-keytab -wallet: partial failure to rekey keytab keytab, old keytab left in keytab.old'\ +wallet: error rekeying for principal service/real-keytab'\ "$wallet" -k "$principal" -p 14373 -s localhost -c fake-wallet keytab ktutil_list keytab klist-seen ktutil_list data/fake-keytab-partial-result klist-good ok '...and the rekeyed keytab is correct' cmp klist-seen klist-good -ok '...and the backup keytab is correct' \ - cmp keytab.old data/fake-keytab-partial -rm -f keytab keytab.old klist-seen klist-good +rm -f keytab klist-seen klist-good # Clean up. rm -f autocreated krb5.conf |