diff options
author | Greg Hudson <ghudson@mit.edu> | 2010-03-08 04:39:08 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2010-03-08 04:39:08 +0000 |
commit | 70c183862052b63be0ef3fef3f32081998c8b9e4 (patch) | |
tree | 1d0ec4f6867365e5e8689c1c4d49cbe607a4eb04 /src/util/testrealm.py | |
parent | b076a2b5ddf94e2481a4fc79fecf9e7f4879b20d (diff) | |
download | krb5-70c183862052b63be0ef3fef3f32081998c8b9e4.tar.gz krb5-70c183862052b63be0ef3fef3f32081998c8b9e4.tar.xz krb5-70c183862052b63be0ef3fef3f32081998c8b9e4.zip |
Add a "make testrealm" target using the Python test framework. As
part of this, expose the environments in K5Realm as attributes so
that test scripts can modify them.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23794 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/testrealm.py')
-rw-r--r-- | src/util/testrealm.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/util/testrealm.py b/src/util/testrealm.py new file mode 100644 index 000000000..826cb00b0 --- /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.') |