summaryrefslogtreecommitdiffstats
path: root/src/util/testrealm.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/testrealm.py')
-rw-r--r--src/util/testrealm.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/util/testrealm.py b/src/util/testrealm.py
new file mode 100644
index 0000000000..826cb00b01
--- /dev/null
+++ b/src/util/testrealm.py
@@ -0,0 +1,69 @@
+# Copyright (C) 2010 by the Massachusetts Institute of Technology.
+# All rights reserved.
+
+# Export of this software from the United States of America may
+# require a specific license from the United States Government.
+# It is the responsibility of any person or organization contemplating
+# export to obtain such a license before exporting.
+#
+# WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+# distribute this software and its documentation for any purpose and
+# without fee is hereby granted, provided that the above copyright
+# notice appear in all copies and that both that copyright notice and
+# this permission notice appear in supporting documentation, and that
+# the name of M.I.T. not be used in advertising or publicity pertaining
+# to distribution of the software without specific, written prior
+# permission. Furthermore if you modify this software you must label
+# your software as modified software and not distribute it in such a
+# fashion that it might be confused with the original M.I.T. software.
+# M.I.T. makes no representations about the suitability of
+# this software for any purpose. It is provided "as is" without express
+# or implied warranty.
+
+# Invoked by the testrealm target in the top-level Makefile. Creates
+# a test realm and spawns a shell pointing at it, for convenience of
+# manual testing.
+
+from k5test import *
+
+# A list of directories containing programs in the build tree.
+progpaths = [
+ 'kdc',
+ os.path.join('kadmin', 'server'),
+ os.path.join('kadmin', 'cli'),
+ os.path.join('kadmin', 'dbutil'),
+ os.path.join('kadmin', 'ktutil'),
+ os.path.join('clients', 'kinit'),
+ os.path.join('clients', 'klist'),
+ os.path.join('clients', 'kdestroy'),
+ os.path.join('clients', 'kpasswd'),
+ 'slave'
+]
+
+# Add program directories to the beginning of PATH.
+def supplement_path(env):
+ # Construct prefixes; these will end in a trailing separator.
+ path_prefix = manpath_prefix = ''
+ for dir in progpaths:
+ path_prefix += os.path.join(buildtop, dir) + os.pathsep
+
+ # Assume PATH exists in env for simplicity.
+ env['PATH'] = path_prefix + env['PATH']
+
+realm = K5Realm()
+env = realm.env_master.copy()
+supplement_path(env)
+
+print
+print 'Realm files are in %s' % realm.testdir
+print 'KRB5_CONFIG is %s' % env['KRB5_CONFIG']
+print 'KRB5_KDC_PROFILE is %s' % env['KRB5_KDC_PROFILE']
+print 'KRB5CCNAME is %s' % env['KRB5CCNAME']
+print 'KRB5_KTNAME is %s' % env['KRB5_KTNAME']
+print 'KRB5RCACHEDIR is %s' % env['KRB5RCACHEDIR']
+print 'Password for user is %s' % password('user')
+print 'Password for admin is %s' % password('admin')
+print
+
+subprocess.call([os.getenv('SHELL')], env=env)
+success('Create test krb5 realm.')