forked from gssapi/gssproxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
t_setcredopt.py
executable file
·39 lines (29 loc) · 1.42 KB
/
t_setcredopt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/python3
# Copyright (C) 2017 - GSS-Proxy contributors; see COPYING for the license
from testlib import *
def run(testdir, env, conf):
print("Testing setting credential options...", file=sys.stderr)
conf['prefix'] = str(cmd_index)
path_prefix = os.path.join(testdir, 't' + conf['prefix'] + '_')
init_ccache = path_prefix + 'sco_init.ccache'
logfile = os.path.join(conf['logpath'], "test_%d.log" % cmd_index)
logfile = open(logfile, 'a')
testenv = env.copy()
testenv.update({'KRB5CCNAME': init_ccache})
usr_keytab = os.path.join(testdir, USR_KTNAME)
ksetup = subprocess.Popen(["kinit", "-kt", usr_keytab, USR_NAME],
stdout=logfile, stderr=logfile,
env=testenv, preexec_fn=os.setsid)
ksetup.wait()
if ksetup.returncode != 0:
raise ValueError("Kinit %s failed" % USR_NAME)
cmd = " ".join(["./tests/t_setcredopt", USR_NAME, HOST_GSS, init_ccache])
testenv.update({'KRB5CCNAME': path_prefix + 'sco.ccache',
'KRB5_KTNAME': os.path.join(testdir, PROXY_KTNAME),
'KRB5_TRACE': path_prefix + 'sco.trace',
'GSS_USE_PROXY': 'yes',
'GSSPROXY_BEHAVIOR': 'REMOTE_FIRST'})
return run_testcase_cmd(testenv, conf, cmd, "Set cred options")
if __name__ == "__main__":
from runtests import runtests_main
runtests_main(["t_setcredopt.py"])