Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
ed0bb9be
Commit
ed0bb9be
authored
Oct 19, 2011
by
dterei
Browse files
Modify and add a bunch of new tests for Safe Haskell changes
parent
a4a8a28f
Changes
69
Hide whitespace changes
Inline
Side-by-side
testsuite/tests/safeHaskell/check/Check01.hs
View file @
ed0bb9be
{-# LANGUAGE SafeImports #-}
{-# GHC_OPTIONS -fpackage-trust #-}
{-# LANGUAGE Unsafe #-}
module
Check01
(
main'
)
where
import
safe
Check01_B
...
...
testsuite/tests/safeHaskell/check/Check02.hs
View file @
ed0bb9be
{-# LANGUAGE
SafeImports
#-}
{-# LANGUAGE
Unsafe
#-}
module
Check02
(
main'
)
where
import
safe
Check02_B
...
...
testsuite/tests/safeHaskell/check/Check04.hs
View file @
ed0bb9be
{-# LANGUAGE
SafeImports
#-}
{-# LANGUAGE
Unsafe
#-}
module
Main
(
main
)
where
import
Check04_1
...
...
testsuite/tests/safeHaskell/check/Check04_1.hs
View file @
ed0bb9be
{-# LANGUAGE
SafeImports
#-}
{-# LANGUAGE
Unsafe
#-}
module
Check04_1
(
main'
)
where
import
safe
Check04_B
...
...
testsuite/tests/safeHaskell/check/all.T
View file @
ed0bb9be
...
...
@@ -16,20 +16,20 @@ test('CheckB',
test
('
Check01
',
normal
,
multi_compile_fail
,
['
Check01 -distrust base
',
[
('
Check01_A.hs
',
''),
('
Check01_B.hs
',
'
-trust base
')
],
''])
],
'
-fpackage-trust
'])
# 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
'])
],
'
-trust base
-fpackage-trust
'])
# 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
')
],
''])
],
'
-fpackage-trust
'])
# Check a slightly larger transitive program. Check01 isn't imported
# safely by Check03 so we don't require base trused at end.
...
...
@@ -37,5 +37,5 @@ test('Check04', normal, multi_compile, ['Check04', [
('
Check04_A.hs
',
''),
('
Check04_B.hs
',
'
-trust base
'),
('
Check04_1.hs
',
'
-trust base
')
],
''])
],
'
-fpackage-trust
'])
testsuite/tests/safeHaskell/flags/SafeFlags03.stderr
0 → 100644
View file @
ed0bb9be
SafeFlags04.hs:1:14: Unsupported extension: SafeImport
testsuite/tests/safeHaskell/flags/SafeFlags05.hs
View file @
ed0bb9be
{-# LANGUAGE Safe,
SafeImports
#-}
{-# LANGUAGE Safe,
Unsafe
#-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags05
where
...
...
testsuite/tests/safeHaskell/flags/SafeFlags06.hs
View file @
ed0bb9be
{-# LANGUAGE Trustworthy,
SafeImports
#-}
{-# LANGUAGE Trustworthy,
Unsafe
#-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags06
where
...
...
testsuite/tests/safeHaskell/flags/SafeFlags07.hs
View file @
ed0bb9be
{-# LANGUAGE SafeLanguage,
SafeImports
#-}
{-# LANGUAGE SafeLanguage,
Unsafe
#-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags07
where
...
...
testsuite/tests/safeHaskell/flags/SafeFlags12.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Unsafe #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags12
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags13.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE Unsafe #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags13
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags14.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Safe #-}
{-# LANGUAGE Unsafe #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags14
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags15.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Unsafe #-}
{-# OPTIONS_GHC -fpackage-trust #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags15
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags16.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Trustworthy #-}
{-# OPTIONS_GHC -fpackage-trust #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags15
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags17.hs
0 → 100644
View file @
ed0bb9be
{-# LANGUAGE Safe #-}
{-# OPTIONS_GHC -fpackage-trust #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags15
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags18.hs
0 → 100644
View file @
ed0bb9be
{-# OPTIONS_GHC -fpackage-trust #-}
-- | Basic test to see if Safe flags compiles
module
SafeFlags15
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/SafeFlags19.hs
0 → 100644
View file @
ed0bb9be
{-# OPTIONS_GHC -fno-package-trust #-}
-- | Basic test to see if Safe flags compiles
-- test should fail as there shouldn't be a no-package-trust flag, only a
-- package-trust flag!
module
SafeFlags15
where
f
::
Int
f
=
1
testsuite/tests/safeHaskell/flags/all.T
View file @
ed0bb9be
...
...
@@ -9,25 +9,36 @@ def f( opts ):
setTestOpts
(
f
)
test
('
SafeFlags01
',
normal
,
compile
,
['
-trust base
'])
test
('
SafeFlags01
',
normal
,
compile
,
[''])
test
('
SafeFlags02
',
normal
,
compile
,
[''])
test
('
SafeFlags03
',
normal
,
compile
,
[''])
# no longer support a SafeImport flag, so expect fail for them.
test
('
SafeFlags03
',
normal
,
compile_fail
,
[''])
# no longer support a SafeLanguage flag, so expect fail for them.
test
('
SafeFlags04
',
normal
,
compile_fail
,
['
-trust base
'])
test
('
SafeFlags04
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags05
',
normal
,
compile
,
['
-trust base
'])
test
('
SafeFlags06
',
normal
,
compile
,
[''])
test
('
SafeFlags05
',
normal
,
compile
_fail
,
['
'])
test
('
SafeFlags06
',
normal
,
compile
_fail
,
[''])
# no longer support a SafeLanguage flag, so expect fail for them.
test
('
SafeFlags07
',
normal
,
compile_fail
,
['
-trust base
'])
test
('
SafeFlags07
',
normal
,
compile_fail
,
[''])
# no longer support a SafeLanguage flag, so expect fail for them.
test
('
SafeFlags08
',
normal
,
compile_fail
,
['
-trust base
'])
test
('
SafeFlags08
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags09
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags10
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags11
',
normal
,
compile
,
['
-trust base
'])
test
('
SafeFlags11
',
normal
,
compile
,
[''])
test
('
SafeFlags12
',
normal
,
compile
,
[''])
test
('
SafeFlags13
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags14
',
normal
,
compile_fail
,
[''])
test
('
SafeFlags15
',
normal
,
compile
,
[''])
test
('
SafeFlags16
',
normal
,
compile
,
[''])
test
('
SafeFlags17
',
normal
,
compile
,
[''])
test
('
SafeFlags18
',
normal
,
compile
,
[''])
test
('
SafeFlags19
',
normal
,
compile_fail
,
[''])
test
('
Flags01
',
normal
,
compile
,
[''])
test
('
Flags02
',
normal
,
compile
,
[''])
...
...
testsuite/tests/safeHaskell/safeInfered/Makefile
0 → 100644
View file @
ed0bb9be
TOP
=
../../..
include
$(TOP)/mk/boilerplate.mk
include
$(TOP)/mk/test.mk
testsuite/tests/safeHaskell/safeInfered/Mixed01.hs
0 → 100644
View file @
ed0bb9be
-- | Should fail compilation because safe imports aren't enabled
module
Mixed01
where
import
safe
Data
.
Word
f
::
Int
f
=
1
Prev
1
2
3
4
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment