Commit 513a449c authored by Ben Gamari's avatar Ben Gamari 🐢
Browse files

testsuite: Use makefile_test

This eliminates most uses of run_command in the testsuite in favor of the more
structured makefile_test.
parent bdb559a6
test('T1959', [extra_files(['B.hs', 'C.hs', 'D.hs', 'E1.hs', 'E2.hs'])], run_command, ['$MAKE -s --no-print-directory dotest'])
test('T1959', [extra_files(['B.hs', 'C.hs', 'D.hs', 'E1.hs', 'E2.hs'])], makefile_test, ['dotest'])
test('T3007',
extra_files(['A/', 'B/']),
run_command,
['$MAKE -s --no-print-directory T3007'])
makefile_test, [])
# Test for #437, a recompilation bug with '-main-is'
test('T437', [extra_files(['Test.hs', 'Test2.hs'])], run_command, ['$MAKE -s --no-print-directory T437'])
test('T437', [extra_files(['Test.hs', 'Test2.hs'])], makefile_test, [])
test('T5147', [extra_files(['A.hs', 'B1.hs', 'B2.hs'])], run_command, ['$MAKE -s --no-print-directory T5147'])
test('T5147', [extra_files(['A.hs', 'B1.hs', 'B2.hs'])], makefile_test, [])
test('T7373', [extra_files(['D.hs', 'pkg/']),
expect_broken(7373)], run_command,
['$MAKE -s --no-print-directory T7373'])
expect_broken(7373)],
makefile_test, [])
test('T7835', [extra_files(['Test.hs', 'TestPrim.hs', 'test-prims.cmm'])], run_command, ['$MAKE -s --no-print-directory T7835'])
test('T7835', [extra_files(['Test.hs', 'TestPrim.hs', 'test-prims.cmm'])], makefile_test, [])
test('T8184', extra_files(['A.hs', 'B.hs', 'B.hs-boot', 'C.hs']), run_command,
['$MAKE -s --no-print-directory T8184'])
test('T8184', extra_files(['A.hs', 'B.hs', 'B.hs-boot', 'C.hs']), makefile_test, [])
test('T9562', [extra_files(['A.hs', 'B.hs', 'B.hs-boot', 'C.hs', 'D.hs', 'Main.hs']),
expect_broken(9562)], run_command,
['$MAKE -s --no-print-directory T9562'])
expect_broken(9562)],
makefile_test, [])
test('driver011', [extra_files(['A011.hs'])], run_command, ['$MAKE -s --no-print-directory test011'])
test('driver011', [extra_files(['A011.hs'])], makefile_test, ['test011'])
test('driver012', [extra_files(['A012.hs'])], run_command, ['$MAKE -s --no-print-directory test012'])
test('driver012', [extra_files(['A012.hs'])], makefile_test, ['test012'])
test('driver013', [extra_files(['A013.hs'])], run_command, ['$MAKE -s --no-print-directory test013'])
test('driver013', [extra_files(['A013.hs'])], makefile_test, ['test013'])
test('driver014', [extra_files(['A014.hs'])], run_command, ['$MAKE -s --no-print-directory test014'])
test('driver014', [extra_files(['A014.hs'])], makefile_test, ['test014'])
test('driver015', [extra_files(['A015.hs'])], run_command, ['$MAKE -s --no-print-directory test015'])
test('driver015', [extra_files(['A015.hs'])], makefile_test, ['test015'])
test('driver016', [extra_files(['F016.hs'])], run_command, ['$MAKE -s --no-print-directory test016'])
test('driver016', [extra_files(['F016.hs'])], makefile_test, ['test016'])
test('driver017', [extra_files(['F017.hs'])], run_command, ['$MAKE -s --no-print-directory test017'])
test('driver017', [extra_files(['F017.hs'])], makefile_test, ['test017'])
test('driver018', [extra_files(['F018.hs'])], run_command, ['$MAKE -s --no-print-directory test018'])
test('driver018', [extra_files(['F018.hs'])], makefile_test, ['test018'])
test('driver018a', [extra_files(['F018a.hs'])], run_command, ['$MAKE -s --no-print-directory test018a'])
test('driver018a', [extra_files(['F018a.hs'])], makefile_test, ['test018a'])
test('driver019', [extra_files(['F019.hs'])], run_command, ['$MAKE -s --no-print-directory test019'])
test('driver019', [extra_files(['F019.hs'])], makefile_test, ['test019'])
test('driver021', [extra_files(['B021/'])], run_command, ['$MAKE -s --no-print-directory test021'])
test('driver021', [extra_files(['B021/'])], makefile_test, ['test021'])
test('driver022', [extra_files(['B022/'])], run_command, ['$MAKE -s --no-print-directory test022'])
test('driver022', [extra_files(['B022/'])], makefile_test, ['test022'])
test('driver023', [extra_files(['B023/'])], run_command, ['$MAKE -s --no-print-directory test023'])
test('driver023', [extra_files(['B023/'])], makefile_test, ['test023'])
test('driver024', [extra_files(['B024/'])], run_command, ['$MAKE -s --no-print-directory test024'])
test('driver024', [extra_files(['B024/'])], makefile_test, ['test024'])
test('driver024a', [], run_command, ['$MAKE -s --no-print-directory test024a'])
test('driver024a', [], makefile_test, ['test024a'])
test('driver025', [extra_files(['B025/'])], run_command, ['$MAKE -s --no-print-directory test025'])
test('driver025', [extra_files(['B025/'])], makefile_test, ['test025'])
test('driver026', [extra_files(['d026/'])], run_command, ['$MAKE -s --no-print-directory test026'])
test('driver026', [extra_files(['d026/'])], makefile_test, ['test026'])
test('driver027', [extra_files(['B027/'])], run_command, ['$MAKE -s --no-print-directory test027'])
test('driver027', [extra_files(['B027/'])], makefile_test, ['test027'])
test('driver028', [extra_files(['B028/'])], run_command, ['$MAKE -s --no-print-directory test028'])
test('driver028', [extra_files(['B028/'])], makefile_test, ['test028'])
test('driver031', [extra_files(['A031.hs'])], run_command, ['$MAKE -s --no-print-directory test031'])
test('driver031', [extra_files(['A031.hs'])], makefile_test, ['test031'])
test('driver032', [extra_files(['A032.hs'])], run_command, ['$MAKE -s --no-print-directory test032'])
test('driver032', [extra_files(['A032.hs'])], makefile_test, ['test032'])
test('driver033', [extra_files(['A033.hs'])], run_command, ['$MAKE -s --no-print-directory test033'])
test('driver033', [extra_files(['A033.hs'])], makefile_test, ['test033'])
test('driver034', [extra_files(['F034.hs'])], run_command, ['$MAKE -s --no-print-directory test034'])
test('driver034', [extra_files(['F034.hs'])], makefile_test, ['test034'])
test('driver035', [extra_files(['F035.hs'])], run_command, ['$MAKE -s --no-print-directory test035'])
test('driver035', [extra_files(['F035.hs'])], makefile_test, ['test035'])
test('driver041', [extra_files(['B041/'])], run_command, ['$MAKE -s --no-print-directory test041'])
test('driver041', [extra_files(['B041/'])], makefile_test, ['test041'])
test('driver042', [extra_files(['B042/'])], run_command, ['$MAKE -s --no-print-directory test042'])
test('driver042', [extra_files(['B042/'])], makefile_test, ['test042'])
test('driver042stub', [extra_files(['B042stub/'])], run_command,
['$MAKE -s --no-print-directory test042stub'])
test('driver042stub', [extra_files(['B042stub/'])], makefile_test, ['test042stub'])
test('driver043', [extra_files(['B043/'])], run_command, ['$MAKE -s --no-print-directory test043'])
test('driver043', [extra_files(['B043/'])], makefile_test, ['test043'])
test('driver044', [extra_files(['B044/'])], run_command, ['$MAKE -s --no-print-directory test044'])
test('driver044', [extra_files(['B044/'])], makefile_test, ['test044'])
test('driver045', [extra_files(['B045/'])], run_command, ['$MAKE -s --no-print-directory test045'])
test('driver045', [extra_files(['B045/'])], makefile_test, ['test045'])
test('driver051', [extra_files(['d051_1/', 'd051_2/'])], run_command, ['$MAKE -s --no-print-directory test051'])
test('driver051', [extra_files(['d051_1/', 'd051_2/'])], makefile_test, ['test051'])
test('driver052', [extra_files(['d052_1/', 'd052_2/'])], run_command, ['$MAKE -s --no-print-directory test052'])
test('driver052', [extra_files(['d052_1/', 'd052_2/'])], makefile_test, ['test052'])
test('driver053', [extra_files(['d053_1/', 'd053_2/'])], run_command, ['$MAKE -s --no-print-directory test053'])
test('driver053', [extra_files(['d053_1/', 'd053_2/'])], makefile_test, ['test053'])
test('driver061a', [extra_files(['A061a.hs'])], run_command, ['$MAKE -s --no-print-directory test061a'])
test('driver061a', [extra_files(['A061a.hs'])], makefile_test, ['test061a'])
test('driver061b', [extra_files(['A061b.hs'])], run_command, ['$MAKE -s --no-print-directory test061b'])
test('driver061b', [extra_files(['A061b.hs'])], makefile_test, ['test061b'])
test('driver062a', [], run_command, ['$MAKE -s --no-print-directory test062a'])
test('driver062b', [], run_command, ['$MAKE -s --no-print-directory test062b'])
test('driver062c', [], run_command, ['$MAKE -s --no-print-directory test062c'])
test('driver062d', [], run_command, ['$MAKE -s --no-print-directory test062d'])
test('driver062e', [], run_command, ['$MAKE -s --no-print-directory test062e'])
test('driver062a', [], makefile_test, ['test062a'])
test('driver062b', [], makefile_test, ['test062b'])
test('driver062c', [], makefile_test, ['test062c'])
test('driver062d', [], makefile_test, ['test062d'])
test('driver062e', [], makefile_test, ['test062e'])
test('driver063', [extra_files(['D063.hs'])], run_command, ['$MAKE -s --no-print-directory test063'])
test('driver063', [extra_files(['D063.hs'])], makefile_test, ['test063'])
test('driver064', [extra_files(['A064.hs'])], run_command, ['$MAKE -s --no-print-directory test064'])
test('driver064', [extra_files(['A064.hs'])], makefile_test, ['test064'])
test('driver065', [extra_files(['A065.hs'])], run_command, ['$MAKE -s --no-print-directory test065'])
test('driver065', [extra_files(['A065.hs'])], makefile_test, ['test065'])
test('driver066', [extra_files(['A066.hs'])], run_command, ['$MAKE -s --no-print-directory test066'])
test('driver066', [extra_files(['A066.hs'])], makefile_test, ['test066'])
test('driver067', [extra_files(['A067.hs'])], run_command, ['$MAKE -s --no-print-directory test067'])
test('driver067', [extra_files(['A067.hs'])], makefile_test, ['test067'])
test('driver070', [extra_files(['A070.hs'])], run_command, ['$MAKE -s --no-print-directory test070'])
test('driver070', [extra_files(['A070.hs'])], makefile_test, ['test070'])
test('driver071', [extra_files(['A071.hs'])], run_command, ['$MAKE -s --no-print-directory test071'])
test('driver071', [extra_files(['A071.hs'])], makefile_test, ['test071'])
test('driver081a', [], run_command, ['$MAKE -s --no-print-directory test081a'])
test('driver081a', [], makefile_test, ['test081a'])
test('driver081b', [], run_command, ['$MAKE -s --no-print-directory test081b'])
test('driver081b', [], makefile_test, ['test081b'])
test('driver100', [extra_files(['overlap/'])], run_command, ['$MAKE -s --no-print-directory test100'])
test('driver100', [extra_files(['overlap/'])], makefile_test, ['test100'])
test('driver200', [extra_files(['A200.hs', 'B200/', 'D200.hs'])], run_command, ['$MAKE -s --no-print-directory test200'])
test('driver200', [extra_files(['A200.hs', 'B200/', 'D200.hs'])], makefile_test, ['test200'])
test('T2566',
normalise_fun(normalise_errmsg),
run_command,
['$MAKE -s --no-print-directory T2566'])
test('T2566', normalise_fun(normalise_errmsg), makefile_test, [])
test('pragma001', normal, compile, [''])
test('pragma002', normal, compile, [''])
test('T2499', normal, compile_fail, [''])
test('mode001', normal, run_command,
['$MAKE -s --no-print-directory mode001'])
test('mode001', normal, makefile_test, [])
if config.os == 'mingw32':
only_windows = normal
......@@ -117,8 +112,8 @@ else:
only_windows = skip
test('shared001', [extra_files(['Shared001.hs']),
only_windows], run_command,
['$MAKE -s --no-print-directory shared001'])
only_windows],
makefile_test, ['shared001'])
if config.os == 'darwin':
only_darwin = normal
......@@ -126,8 +121,8 @@ else:
only_darwin = skip
test('static001', [extra_files(['Static001.hs']),
only_darwin, expect_broken(8127)], run_command,
['$MAKE -s --no-print-directory static001'])
only_darwin, expect_broken(8127)],
makefile_test, ['static001'])
test('dynHelloWorld',
only_ways(['dyn']),
......@@ -141,18 +136,14 @@ test('T5313',
['-package ghc'])
test('T2464', normal, compile, [''])
test('T3674', [], run_command, ['$MAKE -s --no-print-directory T3674'])
test('T3674', [], makefile_test, [])
test('rtsopts001', [extra_files(['rtsOpts.hs'])], run_command,
['$MAKE -s --no-print-directory rtsopts001'])
test('rtsopts002', normal, run_command,
['$MAKE -s --no-print-directory rtsopts002'])
test('rtsopts001', [extra_files(['rtsOpts.hs'])], makefile_test, [])
test('rtsopts002', normal, makefile_test, [])
test('withRtsOpts', [], run_command,
['$MAKE -s --no-print-directory withRtsOpts'])
test('withRtsOpts', [], makefile_test, [])
test('T3389', normal, compile_and_run, [''])
test('T3364', normalise_fun(normalise_errmsg), run_command,
['$MAKE -s --no-print-directory T3364'])
test('T3364', normalise_fun(normalise_errmsg), makefile_test, [])
# T4437: A test to ensure that Cabal's language extension list remains
# consistent with those known by GHC.
......@@ -162,7 +153,7 @@ test('T4437', only_ways(['normal']), compile_and_run, ['-package ghc'])
test('werror', normal, compile_fail, [''])
test('T706', [req_interp], run_command, ['$MAKE -s --no-print-directory T706'])
test('T706', [req_interp], makefile_test, [])
test('spacesInArgs',
extra_run_opts('"a b" "c d"'),
compile_and_run,
......@@ -176,32 +167,27 @@ test( 'T4114c', [fobject_code, expect_broken_for(4114, ['ghci'])], compile_and_r
test( 'T4114d', [fobject_code, expect_broken_for(4114, ['ghci'])], compile_and_run,
['-hisuf .myhi -osuf .myo -no-keep-o-files'])
test('T5584', [], run_command, ['$MAKE -s --no-print-directory T5584'])
test('T5198', [], run_command, ['$MAKE -s --no-print-directory T5198'])
test('T7060', [], run_command, ['$MAKE -s --no-print-directory T7060'])
test('T5584', [], makefile_test, [])
test('T5198', [], makefile_test, [])
test('T7060', [], makefile_test, [])
test('T7130', normal, compile_fail, ['-fflul-laziness'])
test('T7563', when(unregisterised(), skip), run_command,
['$MAKE -s --no-print-directory T7563'])
test('T7563', when(unregisterised(), skip), makefile_test, [])
test('T6037',
# The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
[when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
run_command,
['$MAKE -s --no-print-directory T6037'])
makefile_test, [])
test('T2507',
# The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
[when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
run_command,
['$MAKE -s --no-print-directory T2507'])
makefile_test, [])
test('T8959a',
# The testsuite doesn't know how to set a non-Unicode locale on Windows or Mac OS X
[when(opsys('mingw32'), expect_fail), when(opsys('darwin'), expect_fail)],
run_command,
['$MAKE -s --no-print-directory T8959a'])
makefile_test, [])
# Requires readelf
test('T703', unless(opsys('linux'), skip),
run_command, ['$MAKE -s --no-print-directory T703'])
test('T2182', normal, run_command, ['$MAKE -s --no-print-directory T2182'])
test('T703', unless(opsys('linux'), skip), makefile_test, [])
test('T2182', normal, makefile_test, [])
test('T8101', normal, compile, ['-Wall -fno-code'])
test('T8101b', normal, multimod_compile,
['T8101b', '-Wall -fno-code'])
......@@ -210,17 +196,15 @@ test('T10600', normal, compile_fail, ['-fno-code'])
# Should not panic when compiling cmm file together with -outputdir.
test('T9050', cmm_src, compile, ['-outputdir=.'])
test('write_interface_oneshot', [extra_files(['A011.hs'])], run_command,
['$MAKE -s --no-print-directory write_interface_oneshot'])
test('write_interface_oneshot', [extra_files(['A011.hs'])], makefile_test, [])
test('write_interface_make', [extra_files(['A011.hs'])], run_command,
['$MAKE -s --no-print-directory write_interface_make'])
test('write_interface_make', [extra_files(['A011.hs'])], makefile_test, [])
test('T9776', normal, compile_fail, ['-drule-check'])
test('T9938', [], run_command, ['$MAKE -s --no-print-directory T9938'])
test('T9938', [], makefile_test, [])
test('T9938B', [], run_command, ['$MAKE -s --no-print-directory T9938B'])
test('T9938B', [], makefile_test, [])
test('T9963', exit_code(1), run_command,
['{compiler} --interactive -ignore-dot-ghci --print-libdir'])
......@@ -234,9 +218,9 @@ test('T10220', normal, run_command,
# Preprocessed T10220.hspp imports T10220B. Should work in --make mode.
['{compiler} --make T10220.hspp -fno-code -v0'])
test('T10182', [], run_command, ['$MAKE -s --no-print-directory T10182'])
test('T10182', [], makefile_test, [])
test('T10869', [], run_command, ['$MAKE -s --no-print-directory T10869'])
test('T10869', [], makefile_test, [])
test('T365',
[pre_cmd('touch test_preprocessor.txt'), unless(opsys('mingw32'), skip)],
......@@ -254,36 +238,35 @@ test('T11429b', normal, compile, ['-Wno-unrecognised-warning-flags -Wfoobar'])
test('T11429c', normal, compile_fail, ['-Wunrecognised-warning-flags -Werror -Wfoobar'])
test('T11763', normal, compile_and_run, ['-fno-version-macros'])
test('T10320', [], run_command, ['$MAKE -s --no-print-directory T10320'])
test('T10320', [], makefile_test, [])
test('T12056a', normal, compile, ['-w -Wfoo -Wbar'])
test('T12056b', normal, compile, ['-w -XOverlappingInstances -Wfoo -Wunrecognised-warning-flags -Wbar'])
test('T12056c', normal, compile,
['-w -Wdeprecated-flags -XOverlappingInstances -Wfoo -Wunrecognised-warning-flags -Wbar'])
test('T12135', [expect_broken(12135)], run_command,
['$MAKE -s --no-print-directory T12135'])
test('T12135', [expect_broken(12135)], makefile_test, [])
test('T12192', normal, run_command, ['mkdir foo && (cd foo && {compiler} -v0 ../T12192)'])
test('T10923', [], run_command, ['$MAKE -s --no-print-directory T10923'])
test('T10923', [], makefile_test, [])
test('T12625', normal, compile_fail, ['-I'])
test('T12752pass', normal, compile, ['-DSHOULD_PASS=1 -Wcpp-undef'])
test('T12955', normal, run_command, ['$MAKE -s --no-print-directory T12955'])
test('T12955', normal, makefile_test, [])
test('T12971', ignore_stdout, run_command, ['$MAKE -s --no-print-directory T12971'])
test('T12971', ignore_stdout, makefile_test, [])
test('json', normal, compile_fail, ['-ddump-json'])
test('json2', normal, compile, ['-ddump-types -ddump-json'])
test('T13604', [], run_command, ['$MAKE -s --no-print-directory T13604'])
test('T13604a', [], run_command, ['$MAKE -s --no-print-directory T13604a'])
test('T13604', [], makefile_test, [])
test('T13604a', [], makefile_test, [])
# omitting hpc and profasm because they affect the
# inlining and unfoldings
test('inline-check', omit_ways(['hpc', 'profasm'])
, compile
, ['-dinline-check foo -O -ddebug-output'])
test('T14452', [], run_command, ['$MAKE -s --no-print-directory T14452'])
test('T14452', [], makefile_test, [])
test('T15396', normal, compile_and_run, ['-package ghc'])
test('bug1677', extra_files(['Bar.hs', 'Foo.hs']), run_command, ['$MAKE bug1677 -s --no-print-directory'])
test('bug1677', extra_files(['Bar.hs', 'Foo.hs']), makefile_test, [])
test('conflicting_flags', normal, run_command,
['$MAKE -s --no-print-directory conflicting_flags'])
test('conflicting_flags', normal, makefile_test, [])
test('dynamicToo003',
[extra_files(['A003.hs']),
unless(have_vanilla(), skip), unless(have_dynamic(), skip)], run_command,
['$MAKE -s --no-print-directory dynamicToo003'])
unless(have_vanilla(), skip), unless(have_dynamic(), skip)],
makefile_test, [])
......@@ -3,4 +3,4 @@ test('dynamicToo001',
[extra_files(['A.hs', 'B.hs', 'B1.hs', 'B2.hs', 'C.hs']),
when(opsys('mingw32'), expect_broken(7665)), unless(have_vanilla(), skip),
unless(have_dynamic(), skip)],
run_command, ['$MAKE -s --no-print-directory dynamicToo001'])
makefile_test, [])
test('dynamicToo002',
[extra_files(['A.hs', 'B.hs', 'C.hs']),
unless(have_vanilla(), skip), unless(have_dynamic(), skip)], run_command,
['$MAKE -s --no-print-directory dynamicToo002'])
unless(have_vanilla(), skip), unless(have_dynamic(), skip)],
makefile_test, [])
......@@ -4,6 +4,5 @@ test('dynamicToo004',
expect_broken(7665),
unless(have_vanilla(), skip),
unless(have_dynamic(), skip)],
run_command,
['$MAKE -s --no-print-directory dynamicToo004'])
makefile_test, [])
test('dynamicToo005',
[extra_files(['dynamicToo005.bkp']),
unless(have_vanilla(), skip), unless(have_dynamic(), skip)], run_command,
['$MAKE -s --no-print-directory dynamicToo005'])
unless(have_vanilla(), skip), unless(have_dynamic(), skip)],
makefile_test, [])
test('dynamic_flags_001', [extra_files(['A.hs', 'B.hs', 'C.hs']),
when(fast(), skip)], run_command,
['$MAKE -s --no-print-directory dynamic_flags_001'])
when(fast(), skip)],
makefile_test, [])
......@@ -3,4 +3,4 @@ test('linkwhole',
when(arch('powerpc64') or arch('powerpc64le'), expect_broken(11259)),
when(opsys('freebsd'), expect_broken(16035)),
when(opsys('mingw32'), skip)],
run_command, ['$MAKE -s --no-print-directory linkwhole'])
makefile_test, [])
test('recomp001', [extra_files(['A.hs', 'B1.hs', 'B2.hs', 'C.hs']),
when(fast(), skip)], run_command,
['$MAKE -s --no-print-directory recomp001'])
when(fast(), skip)],
makefile_test, [])
test('recomp002', [extra_files(['Q.hs', 'W.hs', 'W.hs-boot']),
when(fast(), skip)], run_command,
['$MAKE -s --no-print-directory recomp002'])
when(fast(), skip)],
makefile_test, [])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment