From: Jeremy Stanley Date: Sat, 16 Apr 2016 02:06:12 +0000 (+0000) Subject: Simplify multiline matching in functional tests X-Git-Tag: 0.0.1~190 X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=commitdiff_plain;h=78cc0c7ed13415ba264d89bdccb3c55c4e08f536 Simplify multiline matching in functional tests To ease matching across more complex outputs in functional test conversations, use compiled expressions with the DOTALL flag so that the "." wildcard will also match newline characters in the stream. --- diff --git a/bin/test b/bin/test index 37e8100..b23a227 100755 --- a/bin/test +++ b/bin/test @@ -5,6 +5,7 @@ # to use, copy, modify, and distribute this software is granted under # terms provided in the LICENSE file distributed with this software. +import re import sys import telnetlib import time @@ -198,7 +199,7 @@ for test, description in dialogue: for conversant, question, answer in test: print("luser%s waiting for: %s" % (conversant, question)) index, match, received = lusers[conversant].expect( - [question.encode("utf-8")], 5) + [re.compile(question.encode("utf-8"), flags=re.DOTALL)], 5) captures[conversant] += received.decode("utf-8") try: captures[conversant] += lusers[