summaryrefslogtreecommitdiff
path: root/testsuite/tests/plugins
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-12-16 10:43:11 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-10-17 01:03:11 -0400
commitb15a7fb8aa022bfdf3286d65227061c19a4acf28 (patch)
tree95e8f4dcf22302e6ed14ab8a98eabd6ea41505af /testsuite/tests/plugins
parent42ebc3f67c8def0f941792b51bd27270ec8e8d88 (diff)
downloadhaskell-b15a7fb8aa022bfdf3286d65227061c19a4acf28.tar.gz
testsuite: Ensure that makefile tests get run
Previously `makefile_test` and `run_command` tests could easily end up in a situation where they wouldn't be run if the user used the `only_ways` modifier. The reason is to build the set of a ways to run the test in we first start with a candidate set determined by the test type (e.g. `makefile_test`, `compile_run`, etc.) and then filter that set with the constraints given by the test's modifiers. `makefile_test` and `run_command` tests' candidate sets were simply `{normal}`, and consequently most uses of `only_ways` would result in the test being never run. To avoid this we rather use all ways as the candidate sets for these test types. This may result in a few more testcases than we would like (given that some `run_command` tests are insensitive to way) but this can be fixed by adding modifiers and we would much rather run too many tests than too few. This fixes #16042 and a number of other tests afflicted by the same issue. However, there were a few cases that required special attention: * `T14028` is currently failing and is therefore marked as broken due to #17300 * `T-signals-child` is fragile in the `threaded1` and `threaded2` ways (tracked in #17307)
Diffstat (limited to 'testsuite/tests/plugins')
-rw-r--r--testsuite/tests/plugins/all.T2
-rw-r--r--testsuite/tests/plugins/plugin-recomp-impure.stdout2
2 files changed, 3 insertions, 1 deletions
diff --git a/testsuite/tests/plugins/all.T b/testsuite/tests/plugins/all.T
index acc796808c..4ca732e3f5 100644
--- a/testsuite/tests/plugins/all.T
+++ b/testsuite/tests/plugins/all.T
@@ -167,6 +167,7 @@ test('plugin-recomp-flags',
test('plugin-recomp-change',
[extra_files(['plugin-recomp/', 'plugin-recomp-test.hs']),
only_ways([config.ghc_plugin_way]),
+ when(compiler_debugged(), expect_broken_for(17308, ['dyn'])),
pre_cmd('$MAKE -s --no-print-directory -C plugin-recomp package.plugins01 TOP={top}')
],
makefile_test, [])
@@ -174,6 +175,7 @@ test('plugin-recomp-change',
test('plugin-recomp-change-prof',
[extra_files(['plugin-recomp/', 'plugin-recomp-test.hs']),
only_ways([config.ghc_plugin_way]),
+ when(compiler_debugged(), expect_broken_for(17308, ['dyn'])),
pre_cmd('$MAKE -s --no-print-directory -C plugin-recomp package.plugins01 TOP={top}'),
when(not config.have_profiling,skip)
],
diff --git a/testsuite/tests/plugins/plugin-recomp-impure.stdout b/testsuite/tests/plugins/plugin-recomp-impure.stdout
index d282cfea8f..4a2c0aded6 100644
--- a/testsuite/tests/plugins/plugin-recomp-impure.stdout
+++ b/testsuite/tests/plugins/plugin-recomp-impure.stdout
@@ -1,4 +1,4 @@
[1 of 1] Compiling Main ( plugin-recomp-test.hs, plugin-recomp-test.o )
Linking plugin-recomp-test ...
-[1 of 1] Compiling Main ( plugin-recomp-test.hs, plugin-recomp-test.o ) [Plugin forced recompilation]
+[1 of 1] Compiling Main ( plugin-recomp-test.hs, plugin-recomp-test.o ) [Impure plugin forced recompilation]
Linking plugin-recomp-test ...