>From 2eeb7ce6f565b2128ea93af00dae4b9b47731364 Mon Sep 17 00:00:00 2001
From: Simo Sorce <simo@redhat.com>
Date: Mon, 8 Dec 2014 12:50:39 -0500
Subject: [PATCH 3/6] Do not open logfile multiple times

Instad reuse it across the whole test by passing it down

Signed-off-by: Simo Sorce <simo@redhat.com>
---
 proxy/tests/runtests.py | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/proxy/tests/runtests.py b/proxy/tests/runtests.py
index 4b7aa55014e0d486d6ff97b5f94befb2377bd9e4..a941064980441754ae7df047eecb9a2a7550a081 100755
--- a/proxy/tests/runtests.py
+++ b/proxy/tests/runtests.py
@@ -297,8 +297,7 @@ GSSPROXY_CONF_TEMPLATE = '''
 '''
 
 
-def setup_gssproxy(testdir, env):
-    testlog = os.path.join(testdir, 'tests.log')
+def setup_gssproxy(testdir, logfile, env):
 
     gssproxy = os.path.join(testdir, 'gssproxy')
     if os.path.exists(gssproxy):
@@ -318,19 +317,17 @@ def setup_gssproxy(testdir, env):
     with open(conf, 'w+') as f:
         f.write(text)
 
-    with (open(testlog, 'a')) as logfile:
-        gproc = subprocess.Popen(["./gssproxy", "-i", "-d",
-                                  "-s", socket, "-c", conf],
-                                 stdout=logfile, stderr=logfile,
-                                 env=env, preexec_fn=os.setsid)
+    gproc = subprocess.Popen(["./gssproxy", "-i", "-d",
+                              "-s", socket, "-c", conf],
+                             stdout=logfile, stderr=logfile,
+                             env=env, preexec_fn=os.setsid)
 
     return gproc, socket
 
 
-def run_basic_test(testdir, env):
+def run_basic_test(testdir, logfile, env):
 
     print "STARTING BASIC init/Accept tests"
-    testlog = os.path.join(testdir, 'tests.log')
 
     svc_name = "host@%s" % WRAP_HOSTNAME
     svc_keytab = os.path.join(testdir, SVC_KTNAME)
@@ -348,13 +345,13 @@ def run_basic_test(testdir, env):
     pipe0 = os.pipe()
     pipe1 = os.pipe()
 
-    with (open(testlog, 'a')) as logfile:
-        p1 = subprocess.Popen(["./tests/t_init", svc_name],
-                              stdin=pipe0[0], stdout=pipe1[1],
-                              stderr=logfile, env=clienv, preexec_fn=os.setsid)
-        p2 = subprocess.Popen(["./tests/t_accept"],
-                              stdin=pipe1[0], stdout=pipe0[1],
-                              stderr=logfile, env=clienv, preexec_fn=os.setsid)
+    p1 = subprocess.Popen(["./tests/t_init", svc_name],
+                          stdin=pipe0[0], stdout=pipe1[1],
+                          stderr=logfile, env=clienv, preexec_fn=os.setsid)
+    p2 = subprocess.Popen(["./tests/t_accept"],
+                          stdin=pipe1[0], stdout=pipe0[1],
+                          stderr=logfile, env=svcenv, preexec_fn=os.setsid)
+
     p1.wait()
     if p1.returncode != 0:
         print >> sys.stderr, "FAILED: Init test"
@@ -380,6 +377,8 @@ if __name__ == '__main__':
 
     processes = dict()
 
+    testlog = os.path.join(testdir, 'tests.log')
+
     try:
         wrapenv = setup_wrappers(testdir)
 
@@ -392,10 +391,11 @@ if __name__ == '__main__':
 
         run_interposetest(testdir, gssapienv)
 
-        gproc, gpsocket = setup_gssproxy(testdir, keysenv)
-        processes['GSS-Proxy(%d)' % gproc.pid] = gproc
-        gssapienv['GSSPROXY_SOCKET'] = gpsocket
-        run_basic_test(testdir, gssapienv)
+        with (open(testlog, 'a')) as logfile:
+            gproc, gpsocket = setup_gssproxy(testdir, logfile, keysenv)
+            processes['GSS-Proxy(%d)' % gproc.pid] = gproc
+            gssapienv['GSSPROXY_SOCKET'] = gpsocket
+            run_basic_test(testdir, logfile, gssapienv)
 
     finally:
         for name in processes:
-- 
2.1.0

