]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Test err_fmt
authorNicolas Williams <nico@cryptonector.com>
Tue, 11 Nov 2014 02:43:12 +0000 (20:43 -0600)
committerGreg Hudson <ghudson@mit.edu>
Sun, 7 Dec 2014 20:11:02 +0000 (15:11 -0500)
[ghudson@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
src/tests/t_errmsg.py [new file with mode: 0644]

index 34816e3866ba53599ed8a57769ff6875fced5509..6fdbbef1fa25884dff4289adf7fdee81eefa91bb 100644 (file)
@@ -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 (file)
index 0000000..ca78d0f
--- /dev/null
@@ -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')