-captures = ["", "", ""]
-lusers = [telnetlib.Telnet(), telnetlib.Telnet(), telnetlib.Telnet()]
-success = True
-start = time.time()
-for luser in lusers:
- luser.open("::1", 6669)
-for test, description in dialogue:
- print("\nTesting %s..." % description)
- test_start = time.time()
- for conversant, question, answer in test:
- print("luser%s waiting for: %s" % (conversant, question))
- index, match, received = lusers[conversant].expect(
- [re.compile(question.encode("utf-8"), flags=re.DOTALL)], 5)
- captures[conversant] += received.decode("utf-8")
+
+def main():
+ captures = ["", "", ""]
+ lusers = [telnetlib.Telnet(), telnetlib.Telnet(), telnetlib.Telnet()]
+ success = True
+ start = time.time()
+ for luser in lusers:
+ luser.open("::1", 6669)
+ for test, description in dialogue:
+ print("\nTesting %s..." % description)
+ test_start = time.time()
+ for conversant, question, answer in test:
+ print("luser%s waiting for: %s" % (conversant, question))
+ index, match, received = lusers[conversant].expect(
+ [re.compile(question.encode("utf-8"), flags=re.DOTALL)], 5)
+ captures[conversant] += received.decode("utf-8")
+ try:
+ captures[conversant] += lusers[
+ conversant].read_very_eager().decode("utf-8")
+ except:
+ pass
+ if index is not 0:
+ print("ERROR: luser%s did not receive expected string:\n\n"
+ "%s\n\n"
+ "Check the end of capture_%s.log for received data."
+ % (conversant, question, conversant))
+ success = False
+ break
+ print("luser%s sending: %s" % (conversant, answer))
+ lusers[conversant].write(("%s\r\n" % answer).encode("utf-8"))
+ captures[conversant] += "%s\r\n" % answer
+ if not success:
+ break
+ print("Completed in %.3f seconds." % (time.time() - test_start))
+ duration = time.time() - start
+ print("")
+ for conversant in range(len(captures)):