diff options
author | Zubin Duggal <zubin.duggal@gmail.com> | 2021-10-04 21:54:45 +0530 |
---|---|---|
committer | Zubin Duggal <zubin.duggal@gmail.com> | 2021-10-13 13:51:03 +0530 |
commit | 8d5a5ecf620bf440a5cb853687c2d0e7ed5f488f (patch) | |
tree | 5de62f478cd1a33c4bfb0c49aaba37aeddf26945 | |
parent | 8c224b6d43e220930ef0a60e50636e4910d15229 (diff) | |
download | haskell-8d5a5ecf620bf440a5cb853687c2d0e7ed5f488f.tar.gz |
hadrian: avoid building check-{exact,ppr} and count-deps when the tests don't need them
hadrian: build optional dependencies with test compiler
-rw-r--r-- | hadrian/src/CommandLine.hs | 2 | ||||
-rw-r--r-- | hadrian/src/Rules/Test.hs | 54 | ||||
-rw-r--r-- | testsuite/tests/count-deps/all.T | 4 | ||||
-rw-r--r-- | testsuite/tests/printer/all.T | 292 |
4 files changed, 185 insertions, 167 deletions
diff --git a/hadrian/src/CommandLine.hs b/hadrian/src/CommandLine.hs index 2bee0e44e9..e2316057e3 100644 --- a/hadrian/src/CommandLine.hs +++ b/hadrian/src/CommandLine.hs @@ -77,6 +77,8 @@ data TestArgs = TestArgs -- the rts sources and the haddock stats directory even if the test -- compiler is not in-tree -- If this flag is set, then those tests will also be run. + -- This is useful when we want to test the bindist, but we still + -- have access to the build directory } deriving (Eq, Show) diff --git a/hadrian/src/Rules/Test.hs b/hadrian/src/Rules/Test.hs index 31d9427513..9f81ea5f41 100644 --- a/hadrian/src/Rules/Test.hs +++ b/hadrian/src/Rules/Test.hs @@ -44,11 +44,11 @@ countDepsSourcePath = "utils/count-deps/Main.hs" countDepsExtra :: Maybe String countDepsExtra = Just "-iutils/count-deps" -checkPrograms :: [(FilePath, FilePath, Maybe String, Package)] +checkPrograms :: [(String,FilePath, FilePath, Maybe String, Package)] checkPrograms = - [ (checkPprProgPath, checkPprSourcePath, checkPprExtra, checkPpr) - , (checkExactProgPath, checkExactSourcePath, checkExactExtra, checkExact) - , (countDepsProgPath, countDepsSourcePath, countDepsExtra, countDeps) + [ ("test:check-ppr",checkPprProgPath, checkPprSourcePath, checkPprExtra, checkPpr) + , ("test:check-exact",checkExactProgPath, checkExactSourcePath, checkExactExtra, checkExact) + , ("test:count-deps",countDepsProgPath, countDepsSourcePath, countDepsExtra, countDeps) ] ghcConfigPath :: FilePath @@ -69,23 +69,26 @@ testRules = do -- Rules for building check-ppr, check-exact and -- check-ppr-annotations with the compiler we are going to test -- (in-tree or out-of-tree). - forM_ checkPrograms $ \(progPath, sourcePath, mextra, progPkg) -> + forM_ checkPrograms $ \(name, progPath, sourcePath, mextra, progPkg) -> do + name ~> need [root -/- progPath] root -/- progPath %> \path -> do need [ sourcePath ] testGhc <- testCompiler <$> userSetting defaultTestArgs - top <- topDirectory - depsPkgs <- packageDependencies <$> readPackageData progPkg -- when we're about to test an in-tree compiler, just build the package -- normally, NOT stage3, as there are no rules for stage4 yet if (testGhc `elem` ["stage1", "stage2"]) then do let stg = stageOf testGhc + fs <- pkgFile stg progPkg + need [fs] prog_path <- programPath =<< programContext stg progPkg abs_prog_path <- liftIO (IO.canonicalizePath prog_path) createFileLink abs_prog_path path -- otherwise, build it by directly invoking ghc else do + top <- topDirectory + depsPkgs <- packageDependencies <$> readPackageData progPkg bindir <- getBinaryDirectory testGhc debugged <- ghcDebugged <$> flavour dynPrograms <- dynamicGhcPrograms =<< flavour @@ -143,10 +146,6 @@ testRules = do ccFlags <- settingsFileSetting SettingsFileSetting_CCompilerFlags pythonPath <- builderPath Python - need [ root -/- checkPprProgPath - , root -/- checkExactProgPath - , root -/- countDepsProgPath - ] -- Set environment variables for test's Makefile. -- TODO: Ideally we would define all those env vars in 'env', so that @@ -174,21 +173,37 @@ testRules = do let test_target tt = target (vanillaContext Stage2 compiler) (Testsuite tt) [] [] - when (isInTreeCompiler testCompilerArg) $ do - -- We need to ask the testsuite if it needs any extra hadrian dependencies for the - -- tests it is going to run, - -- for example "docs_haddock" - -- We then need to go and build these dependencies - extra_targets <- words <$> askWithResources [] (test_target GetExtraDeps) - need extra_targets + -- We need to ask the testsuite if it needs any extra hadrian dependencies for the + -- tests it is going to run, + -- for example "docs_haddock" + -- We then need to go and build these dependencies + extra_targets <- words <$> askWithResources [] (test_target GetExtraDeps) + need $ filter (isOkToBuild args) extra_targets -- Execute the test target. -- We override the verbosity setting to make sure the user can see -- the test output: https://gitlab.haskell.org/ghc/ghc/issues/15951. withVerbosity Diagnostic $ buildWithCmdOptions env $ test_target RunTest +-- | Given a test compiler and a hadrian dependency (target), check if we +-- can build the target with the compiler +-- +-- We can always build a target with an intree compiler But we can only build +-- targets with special support (checkPrograms) with arbitrary compilers. +-- +-- We need to build the dependencies if --test-have-intree-files is set. +-- We should have built them already by this point, but +isOkToBuild :: TestArgs -> String -> Bool +isOkToBuild args target + = isInTreeCompiler (testCompiler args) + || testHasInTreeFiles args + || target `elem` map fst5 checkPrograms + where + fst5 (a,_,_,_,_) = a + -- | Build the timeout program. -- See: https://github.com/ghc/ghc/blob/master/testsuite/timeout/Makefile#L23 + timeoutProgBuilder :: Action () timeoutProgBuilder = do root <- buildRoot @@ -218,9 +233,8 @@ needTestsuitePackages testGhc = do let stg = stageOf testGhc allpkgs <- packages <$> flavour stgpkgs <- allpkgs (succ stg) - testpkgs <- testsuitePackages let pkgs = filter (\p -> not $ "iserv" `isInfixOf` pkgName p) - (stgpkgs ++ testpkgs) + (stgpkgs ++ [ timeout | windowsHost ]) need =<< mapM (pkgFile stg) pkgs needIservBins diff --git a/testsuite/tests/count-deps/all.T b/testsuite/tests/count-deps/all.T index 6b8abd9c95..a7c31b50c9 100644 --- a/testsuite/tests/count-deps/all.T +++ b/testsuite/tests/count-deps/all.T @@ -1,2 +1,2 @@ -test('CountDepsAst', [], makefile_test, ['count-deps-ast']) -test('CountDepsParser', [], makefile_test, ['count-deps-parser']) +test('CountDepsAst', [req_hadrian_deps(["test:count-deps"])], makefile_test, ['count-deps-ast']) +test('CountDepsParser', [req_hadrian_deps(["test:count-deps"])], makefile_test, ['count-deps-parser']) diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T index 7ef327b716..18ba7ca5d7 100644 --- a/testsuite/tests/printer/all.T +++ b/testsuite/tests/printer/all.T @@ -1,70 +1,72 @@ -test('Ppr001', ignore_stderr, makefile_test, ['ppr001']) -test('Ppr002', ignore_stderr, makefile_test, ['ppr002']) -test('Ppr002a', ignore_stderr, makefile_test, ['ppr002a']) -test('Ppr003', ignore_stderr, makefile_test, ['ppr003']) -test('Ppr004', ignore_stderr, makefile_test, ['ppr004']) -test('Ppr005', ignore_stderr, makefile_test, ['ppr005']) -test('Ppr006', ignore_stderr, makefile_test, ['ppr006']) -test('Ppr007', ignore_stderr, makefile_test, ['ppr007']) +req_ppr_deps = req_hadrian_deps(['test:check-ppr','test:check-exact']) + +test('Ppr001', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr001']) +test('Ppr002', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr002']) +test('Ppr002a', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr002a']) +test('Ppr003', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr003']) +test('Ppr004', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr004']) +test('Ppr005', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr005']) +test('Ppr006', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr006']) +test('Ppr007', [ignore_stderr,req_ppr_deps], makefile_test, ['ppr007']) # These tests have CPP, and as of 2021-03-15 the processing on the # darwin and windows platforms is slightly different. -#test('Ppr008', [ignore_stderr,expect_fail], makefile_test, ['ppr008']) -#test('Ppr010', [ignore_stderr,expect_fail], makefile_test, ['ppr010']) +#test('Ppr008', [ignore_stderr,expect_fail,req_ppr_deps], makefile_test, ['ppr008']) +#test('Ppr010', [ignore_stderr,expect_fail,req_ppr_deps], makefile_test, ['ppr010']) -test('Ppr009', ignore_stderr, makefile_test, ['ppr009']) -test('Ppr011', ignore_stderr, makefile_test, ['ppr011']) -test('Ppr012', ignore_stderr, makefile_test, ['ppr012']) -test('Ppr013', ignore_stderr, makefile_test, ['ppr013']) -test('Ppr014', ignore_stderr, makefile_test, ['ppr014']) -test('Ppr015', ignore_stderr, makefile_test, ['ppr015']) -test('Ppr016', ignore_stderr, makefile_test, ['ppr016']) -test('Ppr017', ignore_stderr, makefile_test, ['ppr017']) -test('Ppr018', ignore_stderr, makefile_test, ['ppr018']) -test('Ppr019', ignore_stderr, makefile_test, ['ppr019']) -test('Ppr020', ignore_stderr, makefile_test, ['ppr020']) -test('Ppr021', ignore_stderr, makefile_test, ['ppr021']) -test('Ppr022', ignore_stderr, makefile_test, ['ppr022']) -test('Ppr023', ignore_stderr, makefile_test, ['ppr023']) -test('Ppr024', ignore_stderr, makefile_test, ['ppr024']) -test('Ppr025', ignore_stderr, makefile_test, ['ppr025']) -test('Ppr026', ignore_stderr, makefile_test, ['ppr026']) -test('Ppr027', [ignore_stderr, req_interp], makefile_test, ['ppr027']) -test('Ppr028', ignore_stderr, makefile_test, ['ppr028']) -test('Ppr029', ignore_stderr, makefile_test, ['ppr029']) -test('Ppr030', ignore_stderr, makefile_test, ['ppr030']) -test('Ppr031', ignore_stderr, makefile_test, ['ppr031']) -test('Ppr032', ignore_stderr, makefile_test, ['ppr032']) -test('Ppr033', ignore_stderr, makefile_test, ['ppr033']) -test('Ppr034', ignore_stderr, makefile_test, ['ppr034']) -test('Ppr035', ignore_stderr, makefile_test, ['ppr035']) -test('Ppr036', ignore_stderr, makefile_test, ['ppr036']) -test('Ppr037', ignore_stderr, makefile_test, ['ppr037']) -test('Ppr038', ignore_stderr, makefile_test, ['ppr038']) -test('Ppr039', ignore_stderr, makefile_test, ['ppr039']) -test('Ppr040', [ignore_stderr, req_interp], makefile_test, ['ppr040']) -test('Ppr041', ignore_stderr, makefile_test, ['ppr041']) -test('Ppr042', ignore_stderr, makefile_test, ['ppr042']) -test('Ppr043', [ignore_stderr, req_interp], makefile_test, ['ppr043']) -test('Ppr044', ignore_stderr, makefile_test, ['ppr044']) -test('Ppr045', ignore_stderr, makefile_test, ['ppr045']) -test('Ppr046', ignore_stderr, makefile_test, ['ppr046']) -test('Ppr048', ignore_stderr, makefile_test, ['ppr048']) -test('Ppr049', ignore_stderr, makefile_test, ['ppr049']) -test('Ppr050', ignore_stderr, makefile_test, ['ppr050']) -test('Ppr051', ignore_stderr, makefile_test, ['ppr051']) -test('Ppr052', ignore_stderr, makefile_test, ['ppr052']) -test('Ppr053', ignore_stderr, makefile_test, ['ppr053']) -test('Ppr054', ignore_stderr, makefile_test, ['ppr054']) -test('Ppr055', ignore_stderr, makefile_test, ['ppr055']) -test('T13050p', ignore_stderr, makefile_test, ['T13050p']) -test('T13199', [ignore_stderr, req_interp], makefile_test, ['T13199']) -test('T13550', [ignore_stderr, req_interp], makefile_test, ['T13550']) -test('T13942', [ignore_stderr, req_interp], makefile_test, ['T13942']) -test('T14289', [ignore_stderr, req_interp], makefile_test, ['T14289']) -test('T14289b', [ignore_stderr, req_interp], makefile_test, ['T14289b']) -test('T14289c', [ignore_stderr, req_interp], makefile_test, ['T14289c']) -test('T14306', ignore_stderr, makefile_test, ['T14306']) +test('Ppr009', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr009']) +test('Ppr011', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr011']) +test('Ppr012', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr012']) +test('Ppr013', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr013']) +test('Ppr014', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr014']) +test('Ppr015', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr015']) +test('Ppr016', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr016']) +test('Ppr017', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr017']) +test('Ppr018', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr018']) +test('Ppr019', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr019']) +test('Ppr020', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr020']) +test('Ppr021', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr021']) +test('Ppr022', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr022']) +test('Ppr023', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr023']) +test('Ppr024', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr024']) +test('Ppr025', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr025']) +test('Ppr026', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr026']) +test('Ppr027', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['ppr027']) +test('Ppr028', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr028']) +test('Ppr029', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr029']) +test('Ppr030', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr030']) +test('Ppr031', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr031']) +test('Ppr032', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr032']) +test('Ppr033', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr033']) +test('Ppr034', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr034']) +test('Ppr035', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr035']) +test('Ppr036', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr036']) +test('Ppr037', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr037']) +test('Ppr038', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr038']) +test('Ppr039', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr039']) +test('Ppr040', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['ppr040']) +test('Ppr041', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr041']) +test('Ppr042', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr042']) +test('Ppr043', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['ppr043']) +test('Ppr044', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr044']) +test('Ppr045', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr045']) +test('Ppr046', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr046']) +test('Ppr048', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr048']) +test('Ppr049', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr049']) +test('Ppr050', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr050']) +test('Ppr051', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr051']) +test('Ppr052', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr052']) +test('Ppr053', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr053']) +test('Ppr054', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr054']) +test('Ppr055', [ignore_stderr, req_ppr_deps], makefile_test, ['ppr055']) +test('T13050p', [ignore_stderr, req_ppr_deps], makefile_test, ['T13050p']) +test('T13199', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T13199']) +test('T13550', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T13550']) +test('T13942', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T13942']) +test('T14289', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T14289']) +test('T14289b', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T14289b']) +test('T14289c', [ignore_stderr, req_interp,req_ppr_deps], makefile_test, ['T14289c']) +test('T14306', [ignore_stderr, req_ppr_deps], makefile_test, ['T14306']) test('T14343', normal, compile_fail, ['']) test('T14343b', normal, compile_fail, ['']) test('T15761', normal, compile_fail, ['']) @@ -72,104 +74,104 @@ test('T17697', normal, compile, ['']) test('T18052a', normal, compile, ['-ddump-simpl -ddump-types -dno-typeable-binds -dsuppress-uniques']) test('T18791', normal, compile, ['-ddump-parsed-ast']) -test('RdrNames', ignore_stderr, makefile_test, ['RdrNames']) -test('StarBinderAnns', ignore_stderr, makefile_test, ['StarBinderAnns']) -test('Test10255', ignore_stderr, makefile_test, ['Test10255']) -test('Test10268', ignore_stderr, makefile_test, ['Test10268']) -test('Test10269', ignore_stderr, makefile_test, ['Test10269']) -test('Test10276', ignore_stderr, makefile_test, ['Test10276']) -test('Test10278', ignore_stderr, makefile_test, ['Test10278']) -test('Test10280', ignore_stderr, makefile_test, ['Test10280']) -test('Test10307', ignore_stderr, makefile_test, ['Test10307']) -test('Test10309', ignore_stderr, makefile_test, ['Test10309']) -test('Test10312', ignore_stderr, makefile_test, ['Test10312']) -test('Test10313', ignore_stderr, makefile_test, ['Test10313']) -test('Test10354', ignore_stderr, makefile_test, ['Test10354']) -test('Test10357', ignore_stderr, makefile_test, ['Test10357']) -test('Test10358', ignore_stderr, makefile_test, ['Test10358']) -test('Test10396', ignore_stderr, makefile_test, ['Test10396']) -test('Test10399', ignore_stderr, makefile_test, ['Test10399']) -test('Test10598', ignore_stderr, makefile_test, ['Test10598']) +test('RdrNames', [ignore_stderr, req_ppr_deps], makefile_test, ['RdrNames']) +test('StarBinderAnns', [ignore_stderr, req_ppr_deps], makefile_test, ['StarBinderAnns']) +test('Test10255', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10255']) +test('Test10268', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10268']) +test('Test10269', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10269']) +test('Test10276', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10276']) +test('Test10278', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10278']) +test('Test10280', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10280']) +test('Test10307', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10307']) +test('Test10309', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10309']) +test('Test10312', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10312']) +test('Test10313', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10313']) +test('Test10354', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10354']) +test('Test10357', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10357']) +test('Test10358', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10358']) +test('Test10396', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10396']) +test('Test10399', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10399']) +test('Test10598', [ignore_stderr, req_ppr_deps], makefile_test, ['Test10598']) # PPR of unicode -> does not roundtrip. See #18846 -test('Test11018', [ignore_stderr,expect_fail], makefile_test, ['Test11018']) -test('Test17519', [ignore_stderr,expect_fail], makefile_test, ['Test17519']) +test('Test11018', [ignore_stderr,expect_fail,req_ppr_deps], makefile_test, ['Test11018']) +test('Test17519', [ignore_stderr,expect_fail,req_ppr_deps], makefile_test, ['Test17519']) -test('Test11321', ignore_stderr, makefile_test, ['Test11321']) -test('Test11332', ignore_stderr, makefile_test, ['Test11332']) +test('Test11321', [ignore_stderr, req_ppr_deps], makefile_test, ['Test11321']) +test('Test11332', [ignore_stderr, req_ppr_deps], makefile_test, ['Test11332']) -test('Test11430', ignore_stderr, makefile_test, ['Test11430']) -test('Test12417', ignore_stderr, makefile_test, ['Test12417']) -test('Test13163', ignore_stderr, makefile_test, ['Test13163']) -test('Test15303', ignore_stderr, makefile_test, ['Test15303']) -test('Test16212', ignore_stderr, makefile_test, ['Test16212']) -test('Test16230', ignore_stderr, makefile_test, ['Test16230']) -test('Test16236', ignore_stderr, makefile_test, ['Test16236']) -test('Test16279', ignore_stderr, makefile_test, ['Test16279']) -test('Test17388', ignore_stderr, makefile_test, ['Test17388']) -test('Test15242', ignore_stderr, makefile_test, ['Test15242']) -test('AnnotationLet', ignore_stderr, makefile_test, ['AnnotationLet']) -test('TestBoolFormula', ignore_stderr, makefile_test, ['TestBoolFormula']) -test('BundleExport', ignore_stderr, makefile_test, ['BundleExport']) -test('AnnotationTuple', ignore_stderr, makefile_test, ['AnnotationTuple']) -test('ListComprehensions', ignore_stderr, makefile_test, ['ListComprehensions']) -test('load-main', ignore_stderr, makefile_test, ['load-main']) +test('Test11430', [ignore_stderr, req_ppr_deps], makefile_test, ['Test11430']) +test('Test12417', [ignore_stderr, req_ppr_deps], makefile_test, ['Test12417']) +test('Test13163', [ignore_stderr, req_ppr_deps], makefile_test, ['Test13163']) +test('Test15303', [ignore_stderr, req_ppr_deps], makefile_test, ['Test15303']) +test('Test16212', [ignore_stderr, req_ppr_deps], makefile_test, ['Test16212']) +test('Test16230', [ignore_stderr, req_ppr_deps], makefile_test, ['Test16230']) +test('Test16236', [ignore_stderr, req_ppr_deps], makefile_test, ['Test16236']) +test('Test16279', [ignore_stderr, req_ppr_deps], makefile_test, ['Test16279']) +test('Test17388', [ignore_stderr, req_ppr_deps], makefile_test, ['Test17388']) +test('Test15242', [ignore_stderr, req_ppr_deps], makefile_test, ['Test15242']) +test('AnnotationLet', [ignore_stderr, req_ppr_deps], makefile_test, ['AnnotationLet']) +test('TestBoolFormula', [ignore_stderr, req_ppr_deps], makefile_test, ['TestBoolFormula']) +test('BundleExport', [ignore_stderr, req_ppr_deps], makefile_test, ['BundleExport']) +test('AnnotationTuple', [ignore_stderr, req_ppr_deps], makefile_test, ['AnnotationTuple']) +test('ListComprehensions', [ignore_stderr, req_ppr_deps], makefile_test, ['ListComprehensions']) +test('load-main', [ignore_stderr, req_ppr_deps], makefile_test, ['load-main']) -test('PprRecordDotSyntax1', ignore_stderr, makefile_test, ['PprRecordDotSyntax1']) -test('PprRecordDotSyntax2', ignore_stderr, makefile_test, ['PprRecordDotSyntax2']) -test('PprRecordDotSyntax3', ignore_stderr, makefile_test, ['PprRecordDotSyntax3']) -test('PprRecordDotSyntax4', ignore_stderr, makefile_test, ['PprRecordDotSyntax4']) -test('PprRecordDotSyntaxA', ignore_stderr, makefile_test, ['PprRecordDotSyntaxA']) -test('CommentsTest', ignore_stderr, makefile_test, ['CommentsTest']) -test('InTreeAnnotations1', ignore_stderr, makefile_test, ['InTreeAnnotations1']) +test('PprRecordDotSyntax1', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordDotSyntax1']) +test('PprRecordDotSyntax2', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordDotSyntax2']) +test('PprRecordDotSyntax3', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordDotSyntax3']) +test('PprRecordDotSyntax4', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordDotSyntax4']) +test('PprRecordDotSyntaxA', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordDotSyntaxA']) +test('CommentsTest', [ignore_stderr, req_ppr_deps], makefile_test, ['CommentsTest']) +test('InTreeAnnotations1', [ignore_stderr, req_ppr_deps], makefile_test, ['InTreeAnnotations1']) # Normal ppr does not reproduce unicode linear arrows, commented out # in the Makefile for this test. See #18846 -test('PprLinearArrow', ignore_stderr, makefile_test, ['PprLinearArrow']) +test('PprLinearArrow', [ignore_stderr, req_ppr_deps], makefile_test, ['PprLinearArrow']) -test('Test19784', ignore_stderr, makefile_test, ['Test19784']) -test('Test19798', ignore_stderr, makefile_test, ['Test19798']) +test('Test19784', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19784']) +test('Test19798', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19798']) # The exact printing manages the extra semicolons, normal ppr not, so # disabled in the Makefile for this test. -test('Test19813', ignore_stderr, makefile_test, ['Test19813']) +test('Test19813', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19813']) -test('Test19814', ignore_stderr, makefile_test, ['Test19814']) -test('Test19821', ignore_stderr, makefile_test, ['Test19821']) -test('Test19834', ignore_stderr, makefile_test, ['Test19834']) -test('Test19839', ignore_stderr, makefile_test, ['Test19839']) -test('Test19840', ignore_stderr, makefile_test, ['Test19840']) -test('Test19850', ignore_stderr, makefile_test, ['Test19850']) -test('PprCommentsOnly', ignore_stderr, makefile_test, ['PprCommentsOnly']) -test('PprSemis', ignore_stderr, makefile_test, ['PprSemis']) +test('Test19814', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19814']) +test('Test19821', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19821']) +test('Test19834', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19834']) +test('Test19839', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19839']) +test('Test19840', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19840']) +test('Test19850', [ignore_stderr, req_ppr_deps], makefile_test, ['Test19850']) +test('PprCommentsOnly', [ignore_stderr, req_ppr_deps], makefile_test, ['PprCommentsOnly']) +test('PprSemis', [ignore_stderr, req_ppr_deps], makefile_test, ['PprSemis']) # Normal ppr does not reproduce all foreign decls, commented out # in the Makefile for this test. -test('PprForeignDecl', ignore_stderr, makefile_test, ['PprForeignDecl']) +test('PprForeignDecl', [ignore_stderr, req_ppr_deps], makefile_test, ['PprForeignDecl']) -test('PprRoles', ignore_stderr, makefile_test, ['PprRoles']) -test('PprTypeSynParens', ignore_stderr, makefile_test, ['PprTypeSynParens']) -test('PprEmptyMostlyInst', ignore_stderr, makefile_test, ['PprEmptyMostlyInst']) -test('PprParenFunBind', ignore_stderr, makefile_test, ['PprParenFunBind']) -test('PprRecordSemi', ignore_stderr, makefile_test, ['PprRecordSemi']) -test('PprCompleteSig', ignore_stderr, makefile_test, ['PprCompleteSig']) -test('PprOverloadedLabels', ignore_stderr, makefile_test, ['PprOverloadedLabels']) -test('PprArrows', ignore_stderr, makefile_test, ['PprArrows']) -test('PprOverloadedRecords', ignore_stderr, makefile_test, ['PprOverloadedRecords']) -test('PprArrowLambdaCase', ignore_stderr, makefile_test, ['PprArrowLambdaCase']) -test('PprRecursiveDo', ignore_stderr, makefile_test, ['PprRecursiveDo']) -test('PprTypeBrackets', ignore_stderr, makefile_test, ['PprTypeBrackets']) -test('PprDynamic', ignore_stderr, makefile_test, ['PprDynamic']) -test('PprEmptyMostly', ignore_stderr, makefile_test, ['PprEmptyMostly']) -test('PprClassParens', ignore_stderr, makefile_test, ['PprClassParens']) -test('PprThAbstractFamily', ignore_stderr, makefile_test, ['PprThAbstractFamily']) -test('PprClassTypeFamily', ignore_stderr, makefile_test, ['PprClassTypeFamily']) -test('PprT13747', ignore_stderr, makefile_test, ['PprT13747']) -test('PprBracesSemiDataDecl', ignore_stderr, makefile_test, ['PprBracesSemiDataDecl']) -test('PprUnicodeSyntax', ignore_stderr, makefile_test, ['PprUnicodeSyntax']) -test('PprCommentPlacement2', ignore_stderr, makefile_test, ['PprCommentPlacement2']) +test('PprRoles', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRoles']) +test('PprTypeSynParens', [ignore_stderr, req_ppr_deps], makefile_test, ['PprTypeSynParens']) +test('PprEmptyMostlyInst', [ignore_stderr, req_ppr_deps], makefile_test, ['PprEmptyMostlyInst']) +test('PprParenFunBind', [ignore_stderr, req_ppr_deps], makefile_test, ['PprParenFunBind']) +test('PprRecordSemi', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecordSemi']) +test('PprCompleteSig', [ignore_stderr, req_ppr_deps], makefile_test, ['PprCompleteSig']) +test('PprOverloadedLabels', [ignore_stderr, req_ppr_deps], makefile_test, ['PprOverloadedLabels']) +test('PprArrows', [ignore_stderr, req_ppr_deps], makefile_test, ['PprArrows']) +test('PprOverloadedRecords', [ignore_stderr, req_ppr_deps], makefile_test, ['PprOverloadedRecords']) +test('PprArrowLambdaCase', [ignore_stderr, req_ppr_deps], makefile_test, ['PprArrowLambdaCase']) +test('PprRecursiveDo', [ignore_stderr, req_ppr_deps], makefile_test, ['PprRecursiveDo']) +test('PprTypeBrackets', [ignore_stderr, req_ppr_deps], makefile_test, ['PprTypeBrackets']) +test('PprDynamic', [ignore_stderr, req_ppr_deps], makefile_test, ['PprDynamic']) +test('PprEmptyMostly', [ignore_stderr, req_ppr_deps], makefile_test, ['PprEmptyMostly']) +test('PprClassParens', [ignore_stderr, req_ppr_deps], makefile_test, ['PprClassParens']) +test('PprThAbstractFamily', [ignore_stderr, req_ppr_deps], makefile_test, ['PprThAbstractFamily']) +test('PprClassTypeFamily', [ignore_stderr, req_ppr_deps], makefile_test, ['PprClassTypeFamily']) +test('PprT13747', [ignore_stderr, req_ppr_deps], makefile_test, ['PprT13747']) +test('PprBracesSemiDataDecl', [ignore_stderr, req_ppr_deps], makefile_test, ['PprBracesSemiDataDecl']) +test('PprUnicodeSyntax', [ignore_stderr, req_ppr_deps], makefile_test, ['PprUnicodeSyntax']) +test('PprCommentPlacement2', [ignore_stderr, req_ppr_deps], makefile_test, ['PprCommentPlacement2']) -test('Test20243', ignore_stderr, makefile_test, ['Test20243']) -test('Test20258', ignore_stderr, makefile_test, ['Test20258']) -test('Test20297', ignore_stderr, makefile_test, ['Test20297']) +test('Test20243', [ignore_stderr, req_ppr_deps], makefile_test, ['Test20243']) +test('Test20258', [ignore_stderr, req_ppr_deps], makefile_test, ['Test20258']) +test('Test20297', [ignore_stderr, req_ppr_deps], makefile_test, ['Test20297']) |