diff options
Diffstat (limited to 'testsuite/tests/safeHaskell/check/all.T')
-rw-r--r-- | testsuite/tests/safeHaskell/check/all.T | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/testsuite/tests/safeHaskell/check/all.T b/testsuite/tests/safeHaskell/check/all.T new file mode 100644 index 0000000000..2e769ba1aa --- /dev/null +++ b/testsuite/tests/safeHaskell/check/all.T @@ -0,0 +1,38 @@ +# Just do the normal way, SafeHaskell is all in the frontend +def f( opts ): + opts.only_ways = ['normal'] + +setTestOpts(f) + +test('CheckA', normal, compile, ['']) +test('CheckB', + extra_clean(['CheckB_Aux.hi', 'CheckB_Aux.o']), + multimod_compile, ['CheckB', '-trust base']) + +# fail as we don't trust base when compiling Check01 +test('Check01', normal, multi_compile_fail, ['Check01', [ + ('Check01_A.hs', ''), + ('Check01_B.hs', '-trust base') + ], '']) + +# suceed this time since we trust base when we compile AND use CheckB +test('Check02', normal, multi_compile, ['Check02', [ + ('Check02_A.hs', ''), + ('Check02_B.hs', '') + ], '-trust base']) + +# suceed as while like Check01_fail we don't import CheckB as a safe +# import this time, so don't require base trusted when used. +test('Check03', normal, multi_compile, ['Check03', [ + ('Check03_A.hs', ''), + ('Check03_B.hs', '-trust base') + ], '']) + +# Check a slightly larger transitive program. Check01 isn't imported +# safely by Check03 so we don't require base trused at end. +test('Check04', normal, multi_compile, ['Check04', [ + ('Check04_A.hs', ''), + ('Check04_B.hs', '-trust base'), + ('Check04_1.hs', '-trust base') + ], '']) + |