Commit aaffd29a authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Use extra_clean rather than clean

This makes things more robust when running with threads
parent bf6eb679
......@@ -96,10 +96,8 @@ LOCAL_GHC_PKG1750 = $(GHC_PKG_INPLACE) -f $(PKGCONF1750)
COPY_PACKAGE_CONF = package.conf.copy
GHC_PKG_COPY = $(GHC_PKG_INPLACE) --global-conf=$(COPY_PACKAGE_CONF)
copy :
ghcpkg02:
cp $(GHC_DRIVER_DIR)/package.conf.inplace $(COPY_PACKAGE_CONF)
ghcpkg02 : copy
for i in `$(GHC_PKG_COPY) list --global --simple-output`; do \
echo Updating $$i; \
$(GHC_PKG_COPY) describe --global $$i | $(GHC_PKG_COPY) update --global --force -; \
......
......@@ -7,22 +7,21 @@ test('ghcpkg01',
if_compiler_lt('ghc', '6.9', skip)]),
run_command,
['$MAKE -s --no-print-directory ghcpkg01'])
clean(['local.package.conf', 'local.package.conf.old'])
test('ghcpkg02', skip_if_fast, run_command,
test('ghcpkg02',
[skip_if_fast,
extra_clean(['package.conf.copy', 'package.conf.copy.old'])],
run_command,
['$MAKE -s --no-print-directory ghcpkg02'])
clean(['package.conf.copy', 'package.conf.copy.old'])
test('ghcpkg03',
extra_clean(['local03.package.conf',
'local03.package.conf.old']),
run_command,
['$MAKE -s --no-print-directory ghcpkg03'])
clean(['local.package.conf', 'local.package.conf.old'])
test('ghcpkg04',
extra_clean(['local04.package.conf',
'local04.package.conf.old']),
run_command,
['$MAKE -s --no-print-directory ghcpkg04'])
clean(['local.package.conf', 'local.package.conf.old'])
# Test that we *can* compile a module that also belongs to a package
# (this was disallowed in GHC 6.4 and earlier)
......
......@@ -121,10 +121,12 @@ test('conc045', only_compiler_types(['ghc']), compile_and_run, [''])
test('conc058', only_compiler_types(['ghc']), compile_and_run, [''])
test('conc059', compose(only_compiler_types(['ghc']),
only_ways(['threaded1','threaded2'])),
compile_and_run, ['conc059_c.c'])
clean(['conc059_c.o'])
test('conc059',
[only_compiler_types(['ghc']),
only_ways(['threaded1','threaded2']),
extra_clean(['conc059_c.o'])],
compile_and_run,
['conc059_c.c'])
test('conc064',
compose(exit_code(1),
......
......@@ -19,8 +19,10 @@ test('gadt14', normal, compile, [''])
test('gadt15', normal, compile, [''])
test('gadt16', normal, compile, [''])
test('gadt17', normal, run_command, ['$MAKE -s --no-print-directory gadt17'])
clean(['Gadt17_help.hi', 'Gadt17_help.o'])
test('gadt17',
extra_clean(['Gadt17_help.hi', 'Gadt17_help.o']),
run_command,
['$MAKE -s --no-print-directory gadt17'])
test('gadt18', normal, compile, [''])
test('gadt19', normal, compile, [''])
......@@ -29,8 +31,10 @@ test('gadt21', if_compiler_lt('ghc','6.9', namebase('gadt21-6.8')),
compile_fail, [''])
test('gadt22', normal, compile, [''])
test('gadt23', normal, run_command, ['$MAKE -s --no-print-directory gadt23'])
clean(['Gadt23_AST.hi', 'Gadt23_AST.o'])
test('gadt23',
extra_clean(['Gadt23_AST.hi', 'Gadt23_AST.o']),
run_command,
['$MAKE -s --no-print-directory gadt23'])
test('gadt24', normal, compile, [''])
......
test('prog002', normal, ghci_script, ['prog002.script'])
clean(['A.hi'])
test('prog002', extra_clean(['A.hi']), ghci_script, ['prog002.script'])
test('prog003', normal, ghci_script, ['prog003.script'])
clean(['D.hi', 'C.hi', 'C.o', 'B.hi', 'B.o', 'A', 'A.hi', 'A.o', 'a.out'])
test('prog003',
extra_clean(['D.hi', 'C.hi', 'C.o', 'B.hi', 'B.o', 'A', 'A.hi', 'A.o',
'a.out']),
ghci_script,
['prog003.script'])
......@@ -6,7 +6,6 @@ def f(opts):
setTestOpts(f)
test('ghciprog004',
normal,
extra_clean(['ctest.c', 'ctest.o']),
run_command,
['$MAKE -s --no-print-directory ghciprog004'])
clean(['ctest.c', 'ctest.o'])
test('prog006', normal, ghci_script, ['prog006.script'])
clean(['Boot.hs'])
test('prog006', extra_clean(['Boot.hs']), ghci_script, ['prog006.script'])
test('haddock.Test', compose(omit_ways(['optc', 'optasm', 'profasm']), normal), multimod_compile, ['Test Hidden Visible', '-fglasgow-exts -haddock -ddump-parsed'])
clean(['Test.hi', 'Test.o', 'Hidden.hi', 'Hidden.o', 'Visible.hi', 'Visible.o'])
test('haddock.Test',
[omit_ways(['optc', 'optasm', 'profasm']),
extra_clean(['Test.hi', 'Test.o', 'Hidden.hi', 'Hidden.o',
'Visible.hi', 'Visible.o'])],
multimod_compile,
['Test Hidden Visible', '-fglasgow-exts -haddock -ddump-parsed'])
......@@ -26,13 +26,19 @@ test('Simple22', normal, compile, [''])
test('Simple23', normal, compile, [''])
test('ind1', normal, compile, [''])
test('ind2', normal, multimod_compile, ['ind2', '-v0'])
test('impexp', normal, multimod_compile,
test('ind2',
extra_clean(['Ind2_help.hi', 'Ind2_help.o', 'Exp.hi', 'Imp.o']),
multimod_compile,
['ind2', '-v0'])
test('impexp',
extra_clean(['Ind2_help.hi', 'Ind2_help.o', 'Exp.hi', 'Imp.o']),
multimod_compile,
['Imp', '-w -no-hs-main -c'])
clean(['Ind2_help.hi', 'Ind2_help.o', 'Exp.hi', 'Imp.o'])
test('ATLoop', normal, multimod_compile, ['ATLoop','-v0'])
clean(['ATLoop_Help.o','ATLoop_Help.hi'])
test('ATLoop',
extra_clean(['ATLoop_Help.o','ATLoop_Help.hi']),
multimod_compile,
['ATLoop','-v0'])
test('Deriving', normal, compile, [''])
test('DerivingNewType', expect_fail, compile, [''])
......@@ -41,8 +47,10 @@ test('Records', normal, compile, [''])
# The point about this test is that it compiles NewTyCo1 and NewTyCo2
# *separately*
#
test('NewTyCo', normal, run_command, ['$MAKE -s --no-print-directory NewTyCo'])
clean(['NewTyCo1.o', 'NewTyCo1.hi', 'NewTyCo2.o', 'NewTyCo2.hi'])
test('NewTyCo',
extra_clean(['NewTyCo1.o', 'NewTyCo1.hi', 'NewTyCo2.o', 'NewTyCo2.hi']),
run_command,
['$MAKE -s --no-print-directory NewTyCo'])
test('Infix', normal, compile, [''])
test('Kind', normal, compile, [''])
......
......@@ -30,7 +30,11 @@ test('T2334', if_compiler_lt('ghc', '6.9', expect_fail), compile_fail, [''])
test('GADTwrong1', if_compiler_lt('ghc', '6.9', expect_fail), compile_fail, [''])
test('Over', normal, multimod_compile_fail, ['OverD', '-no-hs-main -c -v0'])
clean(['OverA.hi', 'OverA.o', 'OverB.hi', 'OverB.o', 'OverC.hi', 'OverC.o'])
test('Over',
extra_clean(['OverA.hi', 'OverA.o',
'OverB.hi', 'OverB.o',
'OverC.hi', 'OverC.o']),
multimod_compile_fail,
['OverD', '-no-hs-main -c -v0'])
test('SkolemOccursLoop', if_compiler_lt('ghc', '6.9', skip), compile_fail, [''])
setTestOpts(only_compiler_types(['ghc']))
test( 'bits',
skip_if_fast,
[skip_if_fast,
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'ext1',
normal,
extra_clean(['Main.hi', 'Main.o']),
multimod_compile_and_run,
['Main','']
)
clean(['Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'freeNames',
normal,
extra_clean(['FunDatatypes.hi', 'FunDatatypes.o', 'Main.hi', 'Main.o']),
multimod_compile_and_run,
['Main','']
)
clean(['FunDatatypes.hi', 'FunDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'genUpTo',
skip_if_fast,
[skip_if_fast,
extra_clean(['LittleLanguage.hi', 'LittleLanguage.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['LittleLanguage.hi', 'LittleLanguage.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'geq',
skip_if_fast,
[skip_if_fast,
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'gshow',
skip_if_fast,
[skip_if_fast,
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'gzip',
skip_if_fast,
[skip_if_fast,
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'paradise',
skip_if_fast,
[skip_if_fast,
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
setTestOpts(only_compiler_types(['ghc']))
test( 'reify',
compose(skip_if_fast, reqlib('mtl')),
[skip_if_fast,
reqlib('mtl'),
extra_clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o',
'Main.hi', 'Main.o'])],
multimod_compile_and_run,
['Main','']
)
clean(['CompanyDatatypes.hi', 'CompanyDatatypes.o', 'Main.hi', 'Main.o'])
Supports Markdown
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