summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/config/ghc7
-rw-r--r--testsuite/driver/testlib.py95
-rw-r--r--testsuite/tests/codeGen/should_run/all.T4
-rw-r--r--testsuite/tests/ext-core/Makefile29
-rw-r--r--testsuite/tests/ext-core/T7239.hs8
-rw-r--r--testsuite/tests/ext-core/all.T3
-rw-r--r--testsuite/tests/ffi/should_compile/all.T21
-rw-r--r--testsuite/tests/ffi/should_run/all.T30
-rwxr-xr-xtestsuite/tests/typecheck/should_run/all.T7
9 files changed, 17 insertions, 187 deletions
diff --git a/testsuite/config/ghc b/testsuite/config/ghc
index 947f558c08..f763e72ed3 100644
--- a/testsuite/config/ghc
+++ b/testsuite/config/ghc
@@ -21,8 +21,7 @@ config.compile_ways = ['normal', 'hpc']
config.run_ways = ['normal', 'hpc']
# ways that are not enabled by default, but can always be invoked explicitly
-config.other_ways = ['extcore','optextcore',
- 'prof',
+config.other_ways = ['prof',
'prof_hc_hb','prof_hb',
'prof_hd','prof_hy','prof_hr',
'threaded1_ls', 'threaded2_hT',
@@ -93,8 +92,6 @@ config.way_flags = lambda name : {
'profasm' : ['-O', '-prof', '-static', '-auto-all'],
'profthreaded' : ['-O', '-prof', '-static', '-auto-all', '-threaded'],
'ghci' : ['--interactive', '-v0', '-ignore-dot-ghci', '+RTS', '-I0.1', '-RTS'],
- 'extcore' : ['-fext-core'],
- 'optextcore' : ['-O', '-fext-core'],
'threaded1' : ['-threaded', '-debug'],
'threaded1_ls' : ['-threaded', '-debug'],
'threaded2' : ['-O', '-threaded', '-eventlog'],
@@ -127,8 +124,6 @@ config.way_rts_flags = {
'profasm' : ['-hc', '-p'], # test heap profiling too
'profthreaded' : ['-p'],
'ghci' : [],
- 'extcore' : [],
- 'optextcore' : [],
'threaded1' : [],
'threaded1_ls' : ['-ls'],
'threaded2' : ['-N2 -ls'],
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 0657db83d3..3479b6a5ba 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -996,8 +996,6 @@ def compile_and_run__( name, way, top_mod, extra_mods, extra_hc_opts ):
if way == 'ghci': # interpreted...
return interpreter_run( name, way, extra_hc_opts, 0, top_mod )
- elif way == 'extcore' or way == 'optextcore' :
- return extcore_run( name, way, extra_hc_opts, 0, top_mod )
else: # compiled...
force = 0
if extra_mods:
@@ -1385,99 +1383,6 @@ def split_file(in_fn, delimiter, out1_fn, out2_fn):
out2.close()
# -----------------------------------------------------------------------------
-# Generate External Core for the given program, then compile the resulting Core
-# and compare its output to the expected output
-
-def extcore_run( name, way, extra_hc_opts, compile_only, top_mod ):
-
- depsfilename = qualify(name, 'deps')
- errname = add_suffix(name, 'comp.stderr')
- qerrname = qualify(errname,'')
-
- hcname = qualify(name, 'hc')
- oname = qualify(name, 'o')
-
- rm_no_fail( qerrname )
- rm_no_fail( qualify(name, '') )
-
- if (top_mod == ''):
- srcname = add_hs_lhs_suffix(name)
- else:
- srcname = top_mod
-
- qcorefilename = qualify(name, 'hcr')
- corefilename = add_suffix(name, 'hcr')
- rm_no_fail(qcorefilename)
-
- # Generate External Core
-
- if (top_mod == ''):
- to_do = ' ' + srcname + ' '
- else:
- to_do = ' --make ' + top_mod + ' '
-
- flags = copy.copy(getTestOpts().compiler_always_flags)
- if getTestOpts().outputdir != None:
- flags.extend(["-outputdir", getTestOpts().outputdir])
- cmd = 'cd ' + getTestOpts().testdir + " && '" \
- + config.compiler + "' " \
- + join(flags,' ') + ' ' \
- + join(config.way_flags(name)[way],' ') + ' ' \
- + extra_hc_opts + ' ' \
- + getTestOpts().extra_hc_opts \
- + to_do \
- + '>' + errname + ' 2>&1'
- result = runCmdFor(name, cmd)
-
- exit_code = result >> 8
-
- if exit_code != 0:
- if_verbose(1,'Compiling to External Core failed (status ' + `result` + ') errors were:')
- if_verbose_dump(1,qerrname)
- return failBecause('ext core exit code non-0')
-
- # Compile the resulting files -- if there's more than one module, we need to read the output
- # of the previous compilation in order to find the dependencies
- if (top_mod == ''):
- to_compile = corefilename
- else:
- result = runCmdFor(name, 'grep Compiling ' + qerrname + ' | awk \'{print $4}\' > ' + depsfilename)
- deps = open(depsfilename).read()
- deplist = string.replace(deps, '\n',' ');
- deplist2 = string.replace(deplist,'.lhs,', '.hcr');
- to_compile = string.replace(deplist2,'.hs,', '.hcr');
-
- flags = join(filter(lambda f: f != '-fext-core',config.way_flags(name)[way]),' ')
- if getTestOpts().outputdir != None:
- flags.extend(["-outputdir", getTestOpts().outputdir])
-
- cmd = 'cd ' + getTestOpts().testdir + " && '" \
- + config.compiler + "' " \
- + join(getTestOpts().compiler_always_flags,' ') + ' ' \
- + to_compile + ' ' \
- + extra_hc_opts + ' ' \
- + getTestOpts().extra_hc_opts + ' ' \
- + flags \
- + ' -fglasgow-exts -o ' + name \
- + '>' + errname + ' 2>&1'
-
- result = runCmdFor(name, cmd)
- exit_code = result >> 8
-
- if exit_code != 0:
- if_verbose(1,'Compiling External Core file(s) failed (status ' + `result` + ') errors were:')
- if_verbose_dump(1,qerrname)
- return failBecause('ext core exit code non-0')
-
- # Clean up
- rm_no_fail ( oname )
- rm_no_fail ( hcname )
- rm_no_fail ( qcorefilename )
- rm_no_fail ( depsfilename )
-
- return simple_run ( name, way, './'+name, getTestOpts().extra_run_opts )
-
-# -----------------------------------------------------------------------------
# Utils
def check_stdout_ok( name ):
diff --git a/testsuite/tests/codeGen/should_run/all.T b/testsuite/tests/codeGen/should_run/all.T
index 9077af2e0c..1efe2a63b7 100644
--- a/testsuite/tests/codeGen/should_run/all.T
+++ b/testsuite/tests/codeGen/should_run/all.T
@@ -48,9 +48,7 @@ test('cgrun047', normal, compile_and_run, [''])
test('cgrun048', normal, compile_and_run, [''])
test('cgrun049', normal, compile_and_run, ['-funbox-strict-fields'])
test('cgrun050', normal, compile_and_run, [''])
-# Doesn't work with External Core due to datatype declaration with no constructors
-test('cgrun051', [expect_fail_for(['extcore','optextcore']), exit_code(1)],
- compile_and_run, [''])
+test('cgrun051', normal, compile_and_run, [''])
test('cgrun052', only_ways(['optasm']), compile_and_run, ['-funbox-strict-fields'])
test('cgrun053', normal, compile_and_run, [''])
test('cgrun054', normal, compile_and_run, [''])
diff --git a/testsuite/tests/ext-core/Makefile b/testsuite/tests/ext-core/Makefile
deleted file mode 100644
index d52dd9c428..0000000000
--- a/testsuite/tests/ext-core/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-TOP=../..
-include $(TOP)/mk/boilerplate.mk
-include $(TOP)/mk/test.mk
-
-# T5881 needs a script because it goes wrong only when
-# the modules are compiled separately, not with --make
-T5881:
- $(RM) -f T5881.hi T5881.o T5881a.hi T5881a.o
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T5881a.hs
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T5881.hs
-
-# T6025 is like T5881; needs separate compile
-T6025:
- $(RM) -f T6025.hi T6025.o T6025a.hi T6025a.o
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T6025a.hs
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T6025.hs
-
-# T6054 is like T5881; needs separate compile
-# The second compile fails, and should do so, hence leading "-"
-T6054:
- $(RM) -f T6054.hi T6054.o T6054a.hi T6054a.o
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T6054a.hs
- -'$(TEST_HC)' $(TEST_HC_OPTS) -c T6054.hs
-
-T7022:
- $(RM) -f T7022.hi T7022.o T7022a.hi T7022a.o T7022b.hi T7022b.o
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T7022a.hs
- '$(TEST_HC)' $(TEST_HC_OPTS) -c T7022b.hs -v0
- -'$(TEST_HC)' $(TEST_HC_OPTS) -c -v0 T7022.hs
diff --git a/testsuite/tests/ext-core/T7239.hs b/testsuite/tests/ext-core/T7239.hs
deleted file mode 100644
index 4331b9e493..0000000000
--- a/testsuite/tests/ext-core/T7239.hs
+++ /dev/null
@@ -1,8 +0,0 @@
-module Main where
-
-data T a = T a
-
-type C = T Int
-type CL = [C]
-
-main = print 1
diff --git a/testsuite/tests/ext-core/all.T b/testsuite/tests/ext-core/all.T
deleted file mode 100644
index a1fbb8b7e7..0000000000
--- a/testsuite/tests/ext-core/all.T
+++ /dev/null
@@ -1,3 +0,0 @@
-setTestOpts(only_compiler_types(['ghc']))
-
-test('T7239', normal, compile, ['-fext-core'])
diff --git a/testsuite/tests/ffi/should_compile/all.T b/testsuite/tests/ffi/should_compile/all.T
index a192a7b0cc..81f6a0d51b 100644
--- a/testsuite/tests/ffi/should_compile/all.T
+++ b/testsuite/tests/ffi/should_compile/all.T
@@ -9,30 +9,21 @@ test('cc001', normal, compile, [''])
# Non-static C call
# cc004 test also uses stdcall, so it only works on i386.
if config.platform.startswith('i386-'):
- ways = expect_fail_for(['extcore','optextcore'])
+ ways = expect_fail
else:
- ways = expect_fail
+ ways = normal
test('cc004', ways, compile, [''])
-# foreign label
-test('cc005', expect_fail_for(['extcore','optextcore']), compile, [''])
-
-# Missing:
-# test('cc006', normal, compile, [''])
-
+test('cc005', normal, compile, [''])
test('cc007', normal, compile, [''])
-# foreign label
-test('cc008', expect_fail_for(['extcore','optextcore']), compile, [''])
-# foreign label
-test('cc009', expect_fail_for(['extcore','optextcore']), compile, [''])
-# Non-static C call
-test('cc010', expect_fail_for(['extcore','optextcore']), compile, [''])
+test('cc008', normal, compile, [''])
+test('cc009', normal, compile, [''])
+test('cc010', normal , compile, [''])
test('cc011', normal, compile, [''])
test('cc012', normal, compile, [''])
test('cc013', normal, compile, [''])
test('cc014', normal, compile, [''])
test('ffi-deriv1', normal, compile, [''])
-
test('T1357', normal, compile, [''])
test('T3624', normal, compile, [''])
test('T3742', normal, compile, [''])
diff --git a/testsuite/tests/ffi/should_run/all.T b/testsuite/tests/ffi/should_run/all.T
index 567c3e67ce..7efc6eb3d8 100644
--- a/testsuite/tests/ffi/should_run/all.T
+++ b/testsuite/tests/ffi/should_run/all.T
@@ -4,10 +4,7 @@
# extra run flags
# expected process return value, if not zero
-# Doesn't work with External Core due to __labels
-test('fed001', [only_compiler_types(['ghc']),
- expect_fail_for(['extcore','optextcore'])],
- compile_and_run, [''])
+test('fed001', normal, compile_and_run, [''])
# Omit GHCi for these two, as they use foreign export
test('ffi001', omit_ways(['ghci']), compile_and_run, [''])
@@ -37,9 +34,7 @@ test('ffi005', [ omit_ways(prof_ways),
exit_code(3) ],
compile_and_run, [''])
-# ffi[006-009] don't work with External Core due to non-static-C foreign calls
-
-test('ffi006', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
+test('ffi006', normal, compile_and_run, [''])
# Skip ffi00{7,8} for GHCi. These tests both try to exit or raise an
# error from a foreign export, which shuts down the runtime. When
@@ -48,15 +43,8 @@ test('ffi006', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
# Sometimes we end up with the wrong exit code, or get an extra
# 'interrupted' message from the GHCi thread shutting down.
-test('ffi007',
- [omit_ways(['ghci']), expect_fail_for(['extcore','optextcore'])],
- compile_and_run, [''])
-
-test('ffi008',
- [expect_fail_for(['extcore','optextcore']),
- exit_code(1),
- omit_ways(['ghci'])],
- compile_and_run, [''])
+test('ffi007', omit_ways(['ghci']), compile_and_run, [''])
+test('ffi008', [exit_code(1), omit_ways(['ghci'])], compile_and_run, [''])
# On i386, we need -msse2 to get reliable floating point results
maybe_skip = normal
@@ -68,13 +56,11 @@ if config.platform.startswith('i386-'):
else:
maybe_skip = only_ways(['ghci'])
-test('ffi009', [when(fast(), skip), expect_fail_for(['extcore','optextcore']),
+test('ffi009', [when(fast(), skip),
reqlib('random'),
maybe_skip] ,compile_and_run, [opts])
-# Doesn't work with External Core due to __labels
-test('ffi010', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
-
+test('ffi010', normal, compile_and_run, [''])
test('ffi011', normal, compile_and_run, [''])
# The stdcall calling convention works on Windows, and sometimes on
@@ -88,9 +74,7 @@ else:
skip_if_not_windows = skip
test('ffi012', skip_if_not_windows, compile_and_run, [''])
-
-# Doesn't work with External Core due to __labels
-test('ffi013', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
+test('ffi013', normal, compile_and_run, [''])
# threaded2 sometimes gives ffi014: Main_dDu: interrupted
test('ffi014',
diff --git a/testsuite/tests/typecheck/should_run/all.T b/testsuite/tests/typecheck/should_run/all.T
index 735fa54fd5..511fe29a9a 100755
--- a/testsuite/tests/typecheck/should_run/all.T
+++ b/testsuite/tests/typecheck/should_run/all.T
@@ -35,9 +35,7 @@ test('tcrun017', normal, compile_and_run, [''])
test('tcrun018', normal, compile_and_run, [''])
test('tcrun019', normal, compile_and_run, [''])
test('tcrun020', normal, compile_and_run, [''])
-# Doesn't work with External Core due to datatype with no constructors
-test('tcrun021', expect_fail_for(['extcore','optextcore']),
- compile_and_run, ['-package containers'])
+test('tcrun021', normal, compile_and_run, ['-package containers'])
test('tcrun022', [omit_ways(['ghci']),only_compiler_types(['ghc'])],
compile_and_run, ['-O'])
test('tcrun023', normal, compile_and_run, ['-O'])
@@ -46,8 +44,7 @@ test('tcrun025', extra_clean(['TcRun025_B.hi', 'TcRun025_B.o']),
multimod_compile_and_run, ['tcrun025',''])
test('tcrun026', normal, compile_and_run, [''])
test('tcrun027', normal, compile_and_run, [''])
-# Doesn't work with External Core due to datatype with no constructors
-test('tcrun028', expect_fail_for(['extcore','optextcore']), compile_and_run, [''])
+test('tcrun028', normal, compile_and_run, [''])
test('tcrun029', normal, compile_and_run, [''])
test('tcrun030', normal, compile_and_run, [''])
test('tcrun031', only_compiler_types(['ghc']), compile_and_run, [''])