summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-02-26 10:13:44 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-03-06 21:48:10 -0500
commit4ca271d1880a6f4c5f49869de7f1920a2073adb6 (patch)
treec78b13bdd5e1038205e9a07670aca7a42870146f
parent3caeb443b2bc2c2ef6f43ce59abfc1cfe3ba579f (diff)
downloadhaskell-4ca271d1880a6f4c5f49869de7f1920a2073adb6.tar.gz
testsuite: Introduce fragile modifier
Now since we have been a bit more stringent in testsuite cleanliness we have been marking a lot of tests as fragile using the `skip` modifier. However, this unfortunately means that we lose the association with the ticket number documenting the fragility. Here we introduce `fragile` and `fragile_for` to retain this information.
-rw-r--r--testsuite/driver/testlib.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index edd43fba9d..309a910dcf 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -247,6 +247,30 @@ def _expect_pass(way):
# -----
+def fragile( bug ):
+ """
+ Indicates that the test should be skipped due to fragility documented in
+ the given ticket.
+ """
+ def helper( name, opts, bug=bug ):
+ record_broken(name, opts, bug)
+ opts.skip = True
+
+ return helper
+
+def fragile_for( name, opts, bug, ways ):
+ """
+ Indicates that the test should be skipped due to fragility in the given
+ test ways as documented in the given ticket.
+ """
+ def helper( name, opts, bug=bug, ways=ways ):
+ record_broken(name, opts, bug)
+ opts.omit_ways = ways
+
+ return helper
+
+# -----
+
def omit_ways( ways ):
return lambda name, opts, w=ways: _omit_ways( name, opts, w )