krb5 commit: Test err_fmt

Greg Hudson ghudson at mit.edu
Sun Dec 7 23:35:31 EST 2014


https://github.com/krb5/krb5/commit/aa39669d6e9d2f300777ba7cf8409ed7ef2ce2f7
commit aa39669d6e9d2f300777ba7cf8409ed7ef2ce2f7
Author: Nicolas Williams <nico at cryptonector.com>
Date:   Mon Nov 10 20:43:12 2014 -0600

    Test err_fmt
    
    [ghudson at mit.edu: move tests to new file; stop messing with
    KRB5CCNAME; use K5Realm.special_env instead of multiple K5Realm
    objects]
    
    ticket: 8047

 src/tests/Makefile.in |    1 +
 src/tests/t_errmsg.py |   28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index 34816e3..6fdbbef 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -141,6 +141,7 @@ check-pytests:: t_init_creds t_localauth unlockiter
 	$(RUNPYTEST) $(srcdir)/t_kdc_log.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_proxy.py $(PYTESTFLAGS)
 	$(RUNPYTEST) $(srcdir)/t_unlockiter.py $(PYTESTFLAGS)
+	$(RUNPYTEST) $(srcdir)/t_errmsg.py $(PYTESTFLAGS)
 
 clean::
 	$(RM) gcred hist hrealm kdbtest plugorder rdreq responder s2p
diff --git a/src/tests/t_errmsg.py b/src/tests/t_errmsg.py
new file mode 100644
index 0000000..ca78d0f
--- /dev/null
+++ b/src/tests/t_errmsg.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+from k5test import *
+
+realm = K5Realm(create_kdb=False)
+
+# Test err_fmt, using klist -c to induce errors.
+fmt1 = 'FOO Error: %M (see http://localhost:1234/%C for more information)'
+conf1 = {'libdefaults': {'err_fmt': fmt1}}
+e1 = realm.special_env('fmt1', False, krb5_conf=conf1)
+out = realm.run([klist, '-c', 'testdir/xx/yy'], env=e1, expected_code=1)
+if out != ("klist: FOO Error: Credentials cache file 'testdir/xx/yy' not "
+           "found (see http://localhost:1234/-1765328189 for more "
+           "information)\n"):
+    fail('err_fmt expansion failed')
+conf2 = {'libdefaults': {'err_fmt': '%M - %C'}}
+e2 = realm.special_env('fmt2', False, krb5_conf=conf2)
+out = realm.run([klist, '-c', 'testdir/xx/yy'], env=e2, expected_code=1)
+if out != ("klist: Credentials cache file 'testdir/xx/yy' not found - "
+           "-1765328189\n"):
+    fail('err_fmt expansion failed')
+conf3 = {'libdefaults': {'err_fmt': '%%%M %-% %C%'}}
+e3 = realm.special_env('fmt3', False, krb5_conf=conf3)
+out = realm.run([klist, '-c', 'testdir/xx/yy'], env=e3, expected_code=1)
+if out != ("klist: %Credentials cache file 'testdir/xx/yy' not found %-% "
+           "-1765328189%\n"):
+    fail('err_fmt expansion failed')
+
+success('error message tests')


More information about the cvs-krb5 mailing list