testsuite: Use makefile_test
[ghc.git] / testsuite / tests / cabal / all.T
1 def normaliseDynlibNames(str):
2     return re.sub('-ghc[0-9.]+\.', '-ghc<VERSION>.', str)
3
4 def ignore_warnings(str):
5     return re.sub(r'Warning:.*\n', '', str)
6
7 test('ghcpkg01', [extra_files(['test.pkg', 'test2.pkg', 'test3.pkg'])], makefile_test, [])
8
9 # Use ignore_stderr to prevent (when HADDOCK_DOCS=NO):
10 #  warning: haddock-interfaces .. doesn't exist or isn't a file
11 test('ghcpkg02', [ignore_stderr], makefile_test, [])
12
13 test('ghcpkg03', [extra_files(['test.pkg', 'test2.pkg', 'test4.pkg']),
14                   normalise_errmsg_fun(normaliseDynlibNames)], makefile_test, [])
15
16 def normalise_package_order(s):
17     # Package order is not deterministic?
18     return re.sub('testpkg-1.2.3.4 newtestpkg-2.0',
19                   'newtestpkg-2.0 testpkg-1.2.3.4',
20                   s)
21
22 test('ghcpkg04', [extra_files(['test.pkg', 'test5.pkg']),
23                   normalise_errmsg_fun(normalise_package_order)], makefile_test, [])
24
25 # Sometimes we get spurious warnings from ghc-pkg about missing
26 # haddock-interfaces; this filters them out.
27 def normalise_haddock_junk( str ):
28     return re.sub(r'Warning: haddock.*\n', '', str)
29
30 test('ghcpkg05',
31      [extra_files(['test2.pkg', 'test3.pkg']),
32       normalise_errmsg_fun(normalise_haddock_junk, normaliseDynlibNames, ignore_warnings)],
33      makefile_test, [])
34 test('ghcpkg06', [extra_files(['test.pkg', 'testdup.pkg'])], makefile_test, [])
35
36 test('ghcpkg07', [extra_files(['test.pkg', 'test7a.pkg', 'test7b.pkg'])], makefile_test, [])
37
38 # Test that we *can* compile a module that also belongs to a package
39 # (this was disallowed in GHC 6.4 and earlier)
40 test('pkg01', normal, compile, [''])
41
42 test('T1750', [], makefile_test, [])
43
44 test('T5442a', [extra_files(['test.pkg'])], makefile_test, [])
45
46 test('T5442b', [extra_files(['test.pkg'])], makefile_test, [])
47
48 test('T5442c', [extra_files(['test.pkg'])], makefile_test, [])
49
50 test('T5442d', [extra_files(['shadow1.pkg', 'shadow2.pkg', 'shadow4.pkg'])], makefile_test, [])
51
52 test('shadow', [], makefile_test, [])
53
54 test('T12485a', [extra_files(['shadow1.pkg', 'shadow2.pkg', 'shadow3.pkg'])], makefile_test, [])
55
56 test('T13703', [extra_files(['test13703a.pkg', 'test13703b.pkg'])], makefile_test, [])