From aa39669d6e9d2f300777ba7cf8409ed7ef2ce2f7 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 10 Nov 2014 20:43:12 -0600 Subject: [PATCH] Test err_fmt [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 | 1 + src/tests/t_errmsg.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src/tests/t_errmsg.py diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in index 34816e3866..6fdbbef1fa 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 0000000000..ca78d0f55b --- /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') -- 2.47.2