summaryrefslogtreecommitdiff
path: root/testsuite/driver
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2017-09-10 15:49:43 +0100
committerJoachim Breitner <mail@joachim-breitner.de>2017-09-12 10:59:50 -0400
commitfe35b85a8cc72582e0f98a3059be00a9a2318a4a (patch)
tree97f07df4e36800e9a8e294ee9f683f8dbf2be730 /testsuite/driver
parent838a10fcad9168895b49b4709056b549f2888860 (diff)
downloadhaskell-fe35b85a8cc72582e0f98a3059be00a9a2318a4a.tar.gz
Add testcase for #14186
and move the generally useful helpers check_errmsg and grep_errmsg to testlib.py. Some documentation can be found on https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/Adding
Diffstat (limited to 'testsuite/driver')
-rw-r--r--testsuite/driver/testlib.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 15c773e3f7..6a7506841a 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -520,6 +520,19 @@ def normalise_errmsg_fun( *fs ):
def _normalise_errmsg_fun( name, opts, *fs ):
opts.extra_errmsg_normaliser = join_normalisers(opts.extra_errmsg_normaliser, fs)
+def check_errmsg(needle):
+ def norm(str):
+ if needle in str:
+ return "%s contained in -ddump-simpl\n" % needle
+ else:
+ return "%s not contained in -ddump-simpl\n" % needle
+ return normalise_errmsg_fun(norm)
+
+def grep_errmsg(needle):
+ def norm(str):
+ return "".join(filter(lambda l: re.search(needle, l), str.splitlines(True)))
+ return normalise_errmsg_fun(norm)
+
def normalise_whitespace_fun(f):
return lambda name, opts: _normalise_whitespace_fun(name, opts, f)