diff --git a/testsuite/tests/ghc-api/downsweep/PartialDownsweep.hs b/testsuite/tests/ghc-api/downsweep/PartialDownsweep.hs index fb91fb6c1f68c276d08efb8754c18930a0f0c97d..335963be4e366df1a92f6b6adee26632ee09f2ab 100644 --- a/testsuite/tests/ghc-api/downsweep/PartialDownsweep.hs +++ b/testsuite/tests/ghc-api/downsweep/PartialDownsweep.hs @@ -8,6 +8,7 @@ import GhcMake import DynFlags import Outputable import Exception (ExceptionMonad, ghandle) +import Bag import Control.Monad import Control.Monad.IO.Class (liftIO) @@ -134,6 +135,17 @@ main = do sort (map (moduleNameString . moduleName . ms_mod) mss) == ["A", "C"] ) + go "Import error" + [ [ "module A where" + , "import B" + , "import DoesNotExist_FooBarBaz" + ] + , [ "module B where" + ] + ] + (\mss -> return $ + sort (map (moduleNameString . moduleName . ms_mod) mss) == ["A", "B"] + ) errored <- readIORef any_failed when errored $ exitFailure @@ -154,6 +166,7 @@ go label mods cnd = hsc_env <- getSession emss <- liftIO $ downsweep hsc_env [] [] False -- liftIO $ hPutStrLn stderr $ showSDocUnsafe $ ppr $ rights emss + -- liftIO $ hPrint stderr $ bagToList $ unionManyBags $ lefts emss it label $ cnd (rights emss) diff --git a/testsuite/tests/ghc-api/downsweep/PartialDownsweep.stderr b/testsuite/tests/ghc-api/downsweep/PartialDownsweep.stderr index 9e5f6d83dc77dd63c0c685250a974fce5b49d8c5..14c1b6c19a8ca0398ef7296c888f7f14c18dfe93 100644 --- a/testsuite/tests/ghc-api/downsweep/PartialDownsweep.stderr +++ b/testsuite/tests/ghc-api/downsweep/PartialDownsweep.stderr @@ -13,3 +13,4 @@ B.hs:2:0: error: error: #elif without #if #elif <- cpp error here +== Import error