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;hp=adc38982a3d0a1720febe55f1ee9a713f02c6fc2 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[