aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/skype/test.py
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2013-02-21 13:16:26 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2013-02-21 13:16:26 +0000
commit12f500f085fe715b62e13c9b67b23f952c100a21 (patch)
treece11dc48779b7ca5f70c48de39b720a1c320ae31 /protocols/skype/test.py
parente4f5ca868fc4313a6a9a00c5eda0a03767abc703 (diff)
parent9754c2fd0e4dbe65e13878b947091483bfff102a (diff)
Merge from vmiklos. Mostly Skype stuff and further deprecating a nogaim
function.
Diffstat (limited to 'protocols/skype/test.py')
-rwxr-xr-xprotocols/skype/test.py126
1 files changed, 76 insertions, 50 deletions
diff --git a/protocols/skype/test.py b/protocols/skype/test.py
index 9f4c13ce..632ae124 100755
--- a/protocols/skype/test.py
+++ b/protocols/skype/test.py
@@ -8,51 +8,24 @@ import shutil
import os
import hashlib
-class Test(unittest.TestCase):
- def openssl(self, args):
- with open(os.devnull, "w") as devnull:
- proc = subprocess.Popen(['openssl'] + args, stdin=subprocess.PIPE, stderr=devnull)
- for i in range(6):
- proc.stdin.write("\n")
- 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],
- 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()
-
- def setUp(self):
- try:
- shutil.rmtree("t/bitlbee")
- except OSError:
- pass
- os.makedirs("t/bitlbee")
-
- try:
- shutil.rmtree("t/skyped")
- except OSError:
- pass
- os.makedirs("t/skyped")
- cwd = os.getcwd()
- os.chdir("t/skyped")
+def openssl(args):
+ with open(os.devnull, "w") as devnull:
+ proc = subprocess.Popen(['openssl'] + args, stdin=subprocess.PIPE, stderr=devnull)
+ for i in range(6):
+ proc.stdin.write("\n")
+ proc.stdin.close()
+ proc.communicate()
+def setupSkyped():
+ try:
+ shutil.rmtree("t/skyped")
+ except OSError:
+ pass
+ os.makedirs("t/skyped")
+ cwd = os.getcwd()
+ os.chdir("t/skyped")
+ try:
shutil.copyfile("../../skyped.cnf", "skyped.cnf")
- self.openssl(['req', '-new', '-x509', '-days', '365', '-nodes', '-config', 'skyped.cnf', '-out', 'skyped.cert.pem', '-keyout', 'skyped.key.pem'])
+ openssl(['req', '-new', '-x509', '-days', '365', '-nodes', '-config', 'skyped.cnf', '-out', 'skyped.cert.pem', '-keyout', 'skyped.key.pem'])
with open("skyped.conf", "w") as sock:
sock.write("[skyped]\n")
sock.write("username = alice\n")
@@ -60,8 +33,51 @@ class Test(unittest.TestCase):
sock.write("cert = %s/skyped.cert.pem\n" % os.getcwd())
sock.write("key = %s/skyped.key.pem\n" % os.getcwd())
sock.write("port = 2727\n")
+ finally:
os.chdir(cwd)
+class Test(unittest.TestCase):
+ def mock(self, 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'], logfile=pexpect_log)
+ if os.environ.get('ATTACH_GDB'):
+ subprocess.Popen(['gdb', '-batch-silent',
+ '-ex', 'set logging overwrite on',
+ '-ex', 'set logging file t/gdb-%s.log' % bitlbee.pid,
+ '-ex', 'set logging on',
+ '-ex', 'handle all pass nostop noprint',
+ '-ex', 'handle SIGSEGV pass stop print',
+ '-ex', 'set pagination 0',
+ '-ex', 'continue',
+ '-ex', 'backtrace full',
+ '-ex', 'info registers',
+ '-ex', 'thread apply all backtrace',
+ '-ex', 'quit',
+ '../../bitlbee', str(bitlbee.pid) ])
+ 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:
+ shutil.rmtree("t/bitlbee")
+ except OSError:
+ pass
+ os.makedirs("t/bitlbee")
def testMsg(self):
self.mock("msg")
@@ -71,25 +87,28 @@ class Test(unittest.TestCase):
def testInfo(self):
self.mock("info")
-
+
def testCall(self):
self.mock("call")
-
+
def testCallFailed(self):
self.mock("call-failed")
-
+
def testAddYes(self):
self.mock("add-yes")
- def testAddNo(self):
- self.mock("add-no")
+ def testAddedYes(self):
+ self.mock("added-yes")
+
+ def testAddedNo(self):
+ self.mock("added-no")
def testGroupchatInvited(self):
self.mock("groupchat-invited")
def testGroupchatInvite(self):
self.mock("groupchat-invite")
-
+
def testCalledYes(self):
self.mock("called-yes")
@@ -102,5 +121,12 @@ class Test(unittest.TestCase):
def testGroupRead(self):
self.mock("group-read")
+ def testCtcpHelp(self):
+ self.mock("ctcp-help")
+
+ def testSetMoodText(self):
+ self.mock("set-mood-text")
+
if __name__ == '__main__':
+ setupSkyped()
unittest.main()