Commit 3415bcaa authored by rwbarton's avatar rwbarton Committed by Ben Gamari

tests: remove extra_files.py (#12223)

The script I used is included as testsuite/driver/kill_extra_files.py,
though at this point it is for mostly historical interest.

Some of the tests in libraries/hpc relied on extra_files.py, so this
commit includes an update to that submodule.

One test in libraries/process also relies on extra_files.py, but we
cannot update that submodule so easily, so for now we special-case it
in the test driver.
parent 98119f5a
......@@ -88,7 +88,7 @@ test('hDuplicateTo001', [], compile_and_run, [''])
test('countReaders001', [], compile_and_run, [''])
test('concio001', normal, run_command, ['$MAKE -s --no-print-directory test.concio001'])
test('concio001.thr', normal, run_command, ['$MAKE -s --no-print-directory test.concio001.thr'])
test('concio001.thr', extra_files(['concio001.hs']), run_command, ['$MAKE -s --no-print-directory test.concio001.thr'])
test('concio002', reqlib('process'), compile_and_run, [''])
......@@ -112,7 +112,7 @@ test('encoding001', [], compile_and_run, [''])
test('encoding002', normal, compile_and_run, [''])
test('encoding003', normal, compile_and_run, [''])
test('encoding004', normal, compile_and_run, [''])
test('encoding004', extra_files(['encoded-data/']), compile_and_run, [''])
test('encoding005', normal, compile_and_run, [''])
test('environment001', [], run_command,
......
......@@ -79,9 +79,12 @@ test('dynamic004', omit_ways(['normal', 'threaded1', 'ghci']), compile_and_
test('dynamic005', normal, compile_and_run, [''])
enum_setups = [when(fast(), skip)]
test('enum01', enum_setups, compile_and_run, [''])
test('enum02', enum_setups, compile_and_run, [''])
test('enum03', enum_setups, compile_and_run, [''])
test('enum01', [extra_files(['enum_processor.bat', 'enum_processor.py']),
enum_setups], compile_and_run, [''])
test('enum02', [extra_files(['enum_processor.bat', 'enum_processor.py']),
enum_setups], compile_and_run, [''])
test('enum03', [extra_files(['enum_processor.bat', 'enum_processor.py']),
enum_setups], compile_and_run, [''])
test('enum04', normal, compile_and_run, [''])
test('exceptionsrun001', normal, compile_and_run, [''])
......@@ -92,10 +95,12 @@ test('list002', when(fast(), skip), compile_and_run, [''])
test('list003', when(fast(), skip), compile_and_run, [''])
test('isSuffixOf', normal, compile_and_run, [''])
test('memo001', [extra_run_opts('+RTS -A10k -RTS')], multimod_compile_and_run,
test('memo001', [extra_files(['Memo1.lhs']),
extra_run_opts('+RTS -A10k -RTS')], multimod_compile_and_run,
['memo001', ''])
test('memo002', [extra_run_opts('20')], multimod_compile_and_run,
test('memo002', [extra_files(['Memo2.lhs']),
extra_run_opts('20')], multimod_compile_and_run,
['memo002', ''])
test('stableptr001',
......
Subproject commit 5caceac7a05741f87f970e1d3f572b1fd8f10cec
Subproject commit b28546ca003c6dbff586609a093e8c8091c34b14
This diff is collapsed.
#!/usr/bin/env python3
from typing import Dict, List, Set, NamedTuple
import os
import subprocess
import ast
import extra_files
extra_src_files = extra_files.extra_src_files # type: Dict[str, List[str]]
found_tests = set() # type: Set[str]
fixed_tests = set() # type: Set[str]
def extras(name: str) -> str:
return 'extra_files(%s)' % (extra_src_files[name],)
def list_extras(name: str, col: int) -> str:
return extras(name) + ',\n' + ' ' * (col + 1)
def find_all_T_files(basedir: bytes) -> List[bytes]:
result = [] # type: List[bytes]
for dirpath, dirnames, filenames in os.walk(basedir):
for f in filenames:
if f.endswith(b'.T'):
result.append(os.path.join(dirpath, f))
return result
# Delete del bytes from (line, col) and then insert the string ins there.
Fixup = NamedTuple('Fixup', [('line', int),
('col', int),
('delete', int),
('insert', str)])
class TestVisitor(ast.NodeVisitor):
def __init__(self) -> None:
self.fixups = [] # type: List[Fixup]
def visit_Call(self, node: ast.AST) -> None:
self.generic_visit(node)
assert isinstance(node, ast.Call)
if isinstance(node.func, ast.Name) and node.func.id == 'test':
assert(len(node.args) == 4)
name_expr, setup, test_fn, args = node.args
if not(isinstance(name_expr, ast.Str)):
return
name = name_expr.s
if name in extra_src_files:
found_tests.add(name)
if isinstance(setup, ast.Name):
if setup.id == 'normal':
# Kill it
self.fixups.append(Fixup(
line=setup.lineno, col=setup.col_offset,
delete=len(setup.id), insert=extras(name)))
else:
# Make a lit
self.fixups.append(Fixup(
line=setup.lineno, col=setup.col_offset,
delete=0,
insert='[' + list_extras(name, setup.col_offset)))
self.fixups.append(Fixup(
line=setup.lineno,
col=setup.col_offset + len(setup.id),
delete=0, insert=']'))
fixed_tests.add(name)
elif isinstance(setup, ast.List):
# Insert into list at start
if not setup.elts:
ins = extras(name) # no need for comma, newline
# Don't try to delete the list because someone
# might have written "[ ]" for some reason
else:
ins = list_extras(name, setup.col_offset)
self.fixups.append(Fixup(
line=setup.lineno, col=setup.col_offset + 1,
delete=0, insert=ins))
fixed_tests.add(name)
else:
assert False # we fixed them all manually already
basedir = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'])
basedir = basedir[0:-1] # delete trailing newline
print(basedir)
for f in find_all_T_files(basedir):
print(f)
text = open(f).read()
mod = ast.parse(text)
tv = TestVisitor()
tv.visit(mod)
lines = text.split('\n')
if not tv.fixups:
# Don't rewrite files unnecessarily
# (libraries/Win32 has Windows line endings)
continue
for fixup in reversed(tv.fixups):
l = list(lines[fixup.line-1])
l[fixup.col:fixup.col + fixup.delete] = fixup.insert
lines[fixup.line-1] = ''.join(l)
open(f, 'w').write('\n'.join(lines))
......@@ -23,7 +23,7 @@ import subprocess
from testglobals import *
from testutil import *
from extra_files import extra_src_files
extra_src_files = {'T4198': ['exitminus1.c']} # TODO: See #12223
if config.use_threads:
import threading
......
......@@ -4,9 +4,11 @@
# now, just disable the profiling ways.
test('annth_make',
[req_interp, omit_ways(prof_ways), unless(have_dynamic(), skip)],
[extra_files(['AnnHelper.hs', 'TestModule.hs', 'TestModuleTH.hs', 'annth.hs']),
req_interp, omit_ways(prof_ways), unless(have_dynamic(), skip)],
run_command, ['$MAKE -s --no-print-directory annth_make'])
test('annth_compunits',
[req_interp, omit_ways(prof_ways), unless(have_dynamic(), skip)],
[extra_files(['AnnHelper.hs', 'TestModule.hs', 'TestModuleTH.hs', 'annth.hs']),
req_interp, omit_ways(prof_ways), unless(have_dynamic(), skip)],
run_command, ['$MAKE -s --no-print-directory annth_compunits'])
......@@ -2,9 +2,12 @@
test('annfail01', normal, compile_fail, [''])
test('annfail02', normal, compile_fail, [''])
test('annfail03', req_interp, compile_fail, [''])
test('annfail04', [req_interp], multimod_compile_fail, ['annfail04', '-v0'])
test('annfail05', [req_interp], multimod_compile_fail, ['annfail05', '-v0'])
test('annfail06', [req_interp], multimod_compile_fail, ['annfail06', '-v0'])
test('annfail04', [extra_files(['Annfail04_Help.hs']),
req_interp], multimod_compile_fail, ['annfail04', '-v0'])
test('annfail05', [extra_files(['Annfail05_Help.hs']),
req_interp], multimod_compile_fail, ['annfail05', '-v0'])
test('annfail06', [extra_files(['Annfail06_Help.hs']),
req_interp], multimod_compile_fail, ['annfail06', '-v0'])
test('annfail07', req_interp, compile_fail, [''])
test('annfail08', req_interp, compile_fail, [''])
test('annfail09', req_interp, compile_fail, [''])
......
......@@ -7,7 +7,8 @@ setTestOpts(when(fast(), skip))
# now, just disable the profiling and dynamic ways, and use
# config.ghc_th_way_flags.
test('annrun01',
[pre_cmd('$MAKE -s --no-print-directory config'),
[extra_files(['Annrun01_Help.hs']),
pre_cmd('$MAKE -s --no-print-directory config'),
omit_ways(['dyn'] + prof_ways)],
multimod_compile_and_run,
['annrun01', '-package ghc ' + config.ghc_th_way_flags])
......
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('bkpcabal01',
normal,
extra_files(['p', 'q', 'impl', 'bkpcabal01.cabal', 'Setup.hs', 'Main.hs']),
run_command,
['$MAKE -s --no-print-directory bkpcabal01 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('bkpcabal02',
normal,
extra_files(['p', 'q', 'bkpcabal02.cabal', 'Setup.hs']),
run_command,
['$MAKE -s --no-print-directory bkpcabal02 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('bkpcabal03',
normal,
extra_files(['asig1', 'asig2', 'bkpcabal03.cabal.in1', 'bkpcabal03.cabal.in2', 'Setup.hs', 'Mod.hs']),
run_command,
['$MAKE -s --no-print-directory bkpcabal03 ' + cleanup])
......@@ -5,6 +5,6 @@ else:
# Test recompilation checking on signatures
test('bkpcabal04',
normal,
extra_files(['p', 'q', 'bkpcabal04.cabal.in1', 'bkpcabal04.cabal.in2', 'Setup.hs']),
run_command,
['$MAKE -s --no-print-directory bkpcabal04 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('bkpcabal05',
normal,
extra_files(['bkpcabal05.cabal', 'A.hsig.in1', 'A.hsig.in2', 'M.hs', 'Setup.hs']),
run_command,
['$MAKE -s --no-print-directory bkpcabal05 ' + cleanup])
test('T12485', [], run_command, ['$MAKE -s --no-print-directory T12485'])
test('T12485', [extra_files(['a.pkg', 'b.pkg', 'Main.hs'])], run_command, ['$MAKE -s --no-print-directory T12485'])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('T12733',
normal,
extra_files(['p/', 'q/', 'Setup.hs']),
run_command,
['$MAKE -s --no-print-directory T12733 ' + cleanup])
def normaliseDynlibNames(str):
return re.sub('-ghc[0-9.]+\.', '-ghc<VERSION>.', str)
test('ghcpkg01', [], run_command, ['$MAKE -s --no-print-directory ghcpkg01'])
test('ghcpkg01', [extra_files(['test.pkg', 'test2.pkg', 'test3.pkg'])], run_command, ['$MAKE -s --no-print-directory ghcpkg01'])
# Use ignore_stderr to prevent (when HADDOCK_DOCS=NO):
# warning: haddock-interfaces .. doesn't exist or isn't a file
test('ghcpkg02', [ignore_stderr], run_command,
['$MAKE -s --no-print-directory ghcpkg02'])
test('ghcpkg03', [normalise_errmsg_fun(normaliseDynlibNames)], run_command,
test('ghcpkg03', [extra_files(['test.pkg', 'test2.pkg', 'test4.pkg']),
normalise_errmsg_fun(normaliseDynlibNames)], run_command,
['$MAKE -s --no-print-directory ghcpkg03'])
def normalise_package_order(s):
......@@ -17,7 +18,8 @@ def normalise_package_order(s):
'newtestpkg-2.0 testpkg-1.2.3.4',
s)
test('ghcpkg04', [normalise_errmsg_fun(normalise_package_order)], run_command,
test('ghcpkg04', [extra_files(['test.pkg', 'test5.pkg']),
normalise_errmsg_fun(normalise_package_order)], run_command,
['$MAKE -s --no-print-directory ghcpkg04'])
# Sometimes we get spurious warnings from ghc-pkg about missing
......@@ -26,11 +28,12 @@ def normalise_haddock_junk( str ):
return re.sub(r'Warning: haddock.*\n', '', str)
test('ghcpkg05',
[normalise_errmsg_fun(normalise_haddock_junk, normaliseDynlibNames)],
[extra_files(['test2.pkg', 'test3.pkg']),
normalise_errmsg_fun(normalise_haddock_junk, normaliseDynlibNames)],
run_command, ['$MAKE -s --no-print-directory ghcpkg05'])
test('ghcpkg06', [], run_command, ['$MAKE -s --no-print-directory ghcpkg06'])
test('ghcpkg06', [extra_files(['test.pkg', 'testdup.pkg'])], run_command, ['$MAKE -s --no-print-directory ghcpkg06'])
test('ghcpkg07', [], run_command, ['$MAKE -s --no-print-directory ghcpkg07'])
test('ghcpkg07', [extra_files(['test.pkg', 'test7a.pkg', 'test7b.pkg'])], run_command, ['$MAKE -s --no-print-directory ghcpkg07'])
# Test that we *can* compile a module that also belongs to a package
# (this was disallowed in GHC 6.4 and earlier)
......@@ -38,14 +41,14 @@ test('pkg01', normal, compile, [''])
test('T1750', [], run_command, ['$MAKE -s --no-print-directory T1750'])
test('T5442a', [], run_command, ['$MAKE -s --no-print-directory T5442a'])
test('T5442a', [extra_files(['test.pkg'])], run_command, ['$MAKE -s --no-print-directory T5442a'])
test('T5442b', [], run_command, ['$MAKE -s --no-print-directory T5442b'])
test('T5442b', [extra_files(['test.pkg'])], run_command, ['$MAKE -s --no-print-directory T5442b'])
test('T5442c', [], run_command, ['$MAKE -s --no-print-directory T5442c'])
test('T5442c', [extra_files(['test.pkg'])], run_command, ['$MAKE -s --no-print-directory T5442c'])
test('T5442d', [], run_command, ['$MAKE -s --no-print-directory T5442d'])
test('T5442d', [extra_files(['shadow1.pkg', 'shadow2.pkg', 'shadow4.pkg'])], run_command, ['$MAKE -s --no-print-directory T5442d'])
test('shadow', [], run_command, ['$MAKE -s --no-print-directory shadow'])
test('T12485a', [], run_command, ['$MAKE -s --no-print-directory T12485a'])
test('T12485a', [extra_files(['shadow1.pkg', 'shadow2.pkg', 'shadow3.pkg'])], run_command, ['$MAKE -s --no-print-directory T12485a'])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal03',
normal,
extra_files(['Setup.lhs', 'p/', 'q/', 'r/']),
run_command,
['$MAKE -s --no-print-directory cabal03 ' + cleanup])
......@@ -19,6 +19,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal04',
normal,
extra_files(['Library.hs', 'Setup.lhs', 'TH.hs', 'thtest.cabal']),
run_command,
['$MAKE -s --no-print-directory cabal04 VANILLA=' + vanilla + ' PROF=' + prof + ' DYN=' + dyn + ' ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal05',
normal,
extra_files(['Setup.hs', 'p/', 'q/', 'r/', 's/', 't/']),
run_command,
['$MAKE -s --no-print-directory cabal05 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal06',
normal,
extra_files(['Setup.hs', 'p-1.0/', 'p-1.1/', 'q/', 'r/']),
run_command,
['$MAKE -s --no-print-directory cabal06 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal08',
normal,
extra_files(['Main.hs', 'Setup.hs', 'p1/', 'p2/']),
run_command,
['$MAKE -s --no-print-directory cabal08 ' + cleanup])
......@@ -4,6 +4,6 @@ else:
cleanup = 'CLEANUP=0'
test('cabal09',
normal,
extra_files(['Main.hs', 'Setup.hs', 'reexport.cabal']),
run_command,
['$MAKE -s --no-print-directory cabal09 ' + cleanup])
......@@ -3,4 +3,4 @@
# separate packages are allowed). Now it is a straightforward test
# for shadowing: the local Foreign module shadows the base package
# one.
test('pkg02', [], multimod_compile, ['A', '-v0'])
test('pkg02', [extra_files(['A.hs', 'Foreign.hs'])], multimod_compile, ['A', '-v0'])
......@@ -70,7 +70,7 @@ test('cgrun063', normal, compile_and_run, [''])
test('cgrun064', normal, compile_and_run, [''])
test('cgrun065', normal, compile_and_run, [''])
test('cgrun066', normal, compile_and_run, [''])
test('cgrun067', [], compile_and_run, [''])
test('cgrun067', [extra_files(['Cgrun067A.hs'])], compile_and_run, [''])
test('cgrun068', reqlib('random'), compile_and_run, [''])
test('cgrun069', omit_ways(['ghci']), multi_compile_and_run,
['cgrun069', [('cgrun069_cmm.cmm', '')], ''])
......
......@@ -12,5 +12,6 @@
# multiple cores, which is why it is only running the 'threaded2' way
# right now. --SDM 1/4/2010
test('concprog001', [when(fast(), skip), only_ways(['threaded2'])],
test('concprog001', [extra_files(['Arithmetic.hs', 'Converter.hs', 'Mult.hs', 'Stream.hs', 'Thread.hs', 'Trit.hs', 'Utilities.hs']),
when(fast(), skip), only_ways(['threaded2'])],
multimod_compile_and_run, ['Mult', ''])
......@@ -10,6 +10,7 @@ else:
# hence -O0:
test('concprog002',
[only_ways(['threaded2', 'threaded2_hT']), extra_ways(ways), exit_code(1),
[extra_files(['Event.hs', 'Scheduler.hs', 'Server.hs', 'Thread.hs']),
only_ways(['threaded2', 'threaded2_hT']), extra_ways(ways), exit_code(1),
when(fast(), skip), reqlib('random')],
multimod_compile_and_run, ['Server', '-O0'])
......@@ -10,6 +10,7 @@
# occasionally, but at least the test is here for posterity.
test('concprog003',
[when(fast(), skip), reqlib('random'),
[extra_files(['CASList.hs', 'Collection.hs', 'IOList.lhs', 'ImmList.hs', 'MVarListLockCoupling.hs', 'Main.lhs', 'RefInterface.hs', 'TestData.hs', 'TestDataParser.hs', 'TestRun.hs', 'test-8-3000-3000-2-1-4']),
when(fast(), skip), reqlib('random'),
extra_run_opts('IMM -t test-8-3000-3000-2-1-4')],
multimod_compile_and_run, ['Main', ''])
test('determ002', [], run_command, ['$MAKE -s --no-print-directory determ002'])
test('determ002', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ002'])
test('determ003', [], run_command, ['$MAKE -s --no-print-directory determ003'])
test('determ003', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ003'])
test('determ005', [], run_command, ['$MAKE -s --no-print-directory determ005'])
test('determ005', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ005'])
test('determ006', [], run_command, ['$MAKE -s --no-print-directory determ006'])
test('determ006', [extra_files(['spec-inline-determ.hs'])], run_command, ['$MAKE -s --no-print-directory determ006'])
test('determ007', [], run_command, ['$MAKE -s --no-print-directory determ007'])
test('determ007', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ007'])
test('determ008', [], run_command, ['$MAKE -s --no-print-directory determ008'])
test('determ008', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ008'])
test('determ009', [], run_command, ['$MAKE -s --no-print-directory determ009'])
test('determ009', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ009'])
test('determ010', [], run_command, ['$MAKE -s --no-print-directory determ010'])
test('determ010', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ010'])
test('determ011', [], run_command, ['$MAKE -s --no-print-directory determ011'])
test('determ011', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ011'])
test('determ012', [], run_command, ['$MAKE -s --no-print-directory determ012'])
test('determ012', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ012'])
test('determ013', [], run_command, ['$MAKE -s --no-print-directory determ013'])
test('determ013', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ013'])
test('determ014', [], run_command, ['$MAKE -s --no-print-directory determ014'])
test('determ014', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ014'])
test('determ015', [], run_command, ['$MAKE -s --no-print-directory determ015'])
test('determ015', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ015'])
test('determ016', [], run_command, ['$MAKE -s --no-print-directory determ016'])
test('determ016', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ016'])
test('determ017', [], run_command, ['$MAKE -s --no-print-directory determ017'])
test('determ017', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ017'])
test('determ018', [], run_command, ['$MAKE -s --no-print-directory determ018'])
test('determ018', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ018'])
test('determ019', [], run_command, ['$MAKE -s --no-print-directory determ019'])
test('determ019', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ019'])
test('determ021', [], run_command, ['$MAKE -s --no-print-directory determ021'])
test('determ021', [extra_files(['A.hs'])], run_command, ['$MAKE -s --no-print-directory determ021'])
test('T12062', [], multimod_compile_fail, ['T12062', '-v0 -j0'])
test('T12062', [extra_files(['A.hs', 'A.hs-boot', 'C.hs'])], multimod_compile_fail, ['T12062', '-v0 -j0'])
test('T1372', [], run_command, ['$MAKE -s --no-print-directory T1372'])
test('T1372', [extra_files(['p1/', 'p2/'])], run_command, ['$MAKE -s --no-print-directory T1372'])
test('T1959', [], run_command, ['$MAKE -s --no-print-directory dotest'])
test('T1959', [extra_files(['B.hs', 'C.hs', 'D.hs', 'E1.hs', 'E2.hs'])], run_command, ['$MAKE -s --no-print-directory dotest'])
test('T3007', [], run_command, ['$MAKE -s --no-print-directory T3007'])
test('T3007', [extra_files(['A/', 'B/'])], run_command, ['$MAKE -s --no-print-directory T3007'])
# Test for #437, a recompilation bug with '-main-is'
test('T437', [], run_command, ['$MAKE -s --no-print-directory T437'])
test('T437', [extra_files(['Test.hs', 'Test2.hs'])], run_command, ['$MAKE -s --no-print-directory T437'])
test('T5147', [], run_command, ['$MAKE -s --no-print-directory T5147'])
test('T5147', [extra_files(['A.hs', 'B1.hs', 'B2.hs'])], run_command, ['$MAKE -s --no-print-directory T5147'])
test('T7373', [expect_broken(7373)], run_command,
test('T7373', [extra_files(['D.hs', 'pkg/']),
expect_broken(7373)], run_command,
['$MAKE -s --no-print-directory T7373'])
test('T7835', [], run_command, ['$MAKE -s --no-print-directory T7835'])
test('T7835', [extra_files(['Test.hs', 'TestPrim.hs', 'test-prims.cmm'])], run_command, ['$MAKE -s --no-print-directory T7835'])
test('T8184', normal, run_command,
test('T8184', extra_files(['A.hs', 'B.hs', 'B.hs-boot', 'C.hs']), run_command,
['$MAKE -s --no-print-directory T8184'])
test('T8526', [], ghci_script, ['T8526.script'])
test('T8526', [extra_files(['A.hs'])], ghci_script, ['T8526.script'])