aboutsummaryrefslogtreecommitdiff
path: root/tests/client
diff options
context:
space:
mode:
authorRuss Allbery <eagle@eyrie.org>2014-07-16 13:43:17 -0700
committerRuss Allbery <eagle@eyrie.org>2014-07-16 13:43:17 -0700
commit6409733ee3b7b1910dc1c166a392cc628834146c (patch)
treee9460f8f2ca0f3676afeed2a9dcf549acfc39b53 /tests/client
parent334ed844cbb5c8f7ea82a94c701a3016dd6950b9 (diff)
parentf8963ceb19cd2b503b981f43a3f8c0f45649989f (diff)
Imported Upstream version 1.1
Diffstat (limited to 'tests/client')
-rw-r--r--tests/client/basic-t.in2
-rw-r--r--tests/client/full-t.in24
-rw-r--r--tests/client/prompt-t.in20
-rw-r--r--tests/client/rekey-t.in20
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