diff options
author | Mike Kazantsev <mk.fraggod@gmail.com> | 2013-02-11 13:56:03 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-02-11 13:56:03 +0100 |
commit | 1146e216e8cf8c6fca77f3b5325ccd86078f827a (patch) | |
tree | ada919bfd2a6b9ecda39e78ec5f3bb330a0e89d6 /protocols/skype/test.py | |
parent | 65a5d154b052c9ff35a79eaf8e3405522c8737cc (diff) |
skype.test: do proper cleanup of skyped process despite possible exceptions, keep pexpect.log
Diffstat (limited to 'protocols/skype/test.py')
-rwxr-xr-x | protocols/skype/test.py | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/protocols/skype/test.py b/protocols/skype/test.py index 9f4c13ce..6d4e9daf 100755 --- a/protocols/skype/test.py +++ b/protocols/skype/test.py @@ -17,25 +17,25 @@ class Test(unittest.TestCase): proc.stdin.close() proc.communicate() def mock(self, name): - skyped_log = open("t/skyped.log", "w") - skyped = subprocess.Popen([sys.executable, "skyped.py", "-c", "t/skyped/skyped.conf", "-n", "-d", "-m", "t/%s-skyped.mock" % name], + with open("t/skyped.log", "w") as skyped_log,\ + open("t/pexpect.log", "w") as pexpect_log: + skyped = subprocess.Popen([sys.executable, "skyped.py", + "-c", "t/skyped/skyped.conf", "-n", "-d", "-m", "t/%s-skyped.mock" % name], stdout=skyped_log, stderr=subprocess.STDOUT) - - try: - bitlbee = pexpect.spawn('../../bitlbee', ['-d', 't/bitlbee']) - bitlbee_mock = open("t/%s-bitlbee.mock" % name) - for i in bitlbee_mock.readlines(): - line = i.strip() - if line.startswith(">> "): - bitlbee.expect_exact(line[3:], timeout=10) - elif line.startswith("<< "): - bitlbee.sendline(line[3:]) - bitlbee_mock.close() - bitlbee.close() - finally: - skyped.terminate() - skyped.communicate() - skyped_log.close() + try: + bitlbee = pexpect.spawn('../../bitlbee', ['-d', 't/bitlbee'], logfile=pexpect_log) + bitlbee_mock = open("t/%s-bitlbee.mock" % name) + for i in bitlbee_mock.readlines(): + line = i.strip() + if line.startswith(">> "): + bitlbee.expect_exact(line[3:], timeout=10) + elif line.startswith("<< "): + bitlbee.sendline(line[3:]) + bitlbee_mock.close() + bitlbee.close() + finally: + skyped.terminate() + skyped.communicate() def setUp(self): try: |