diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ProgramsTest.hs | 24 | 
1 files changed, 17 insertions, 7 deletions
| diff --git a/tests/ProgramsTest.hs b/tests/ProgramsTest.hs index 467c1cc..4e7c557 100644 --- a/tests/ProgramsTest.hs +++ b/tests/ProgramsTest.hs @@ -10,6 +10,7 @@ import System.Environment  import System.Exit  import System.FilePath  import System.IO.Temp +import System.Info  import Text.Show.Pretty  import CabalHelper.Compiletime.Types @@ -18,7 +19,8 @@ import Symlink (createSymbolicLink)  main :: IO ()  main = do -  prog_name <- getProgName +  -- In windows, program name ends with .exe +  prog_name <- dropExtension <$> getProgName    args <- getArgs    case prog_name of      "programs-test" @@ -50,16 +52,24 @@ do_test = do    withSystemTempDirectory "c-h-programs-test" $ \tmpdir -> do +  let ext = case System.Info.os of +              "mingw32" -> "exe" +              _         -> "" +    forM_ ["8.6.5", "8.4.4"] $ \ver -> do -  let ghc = tmpdir </> "ghc-" ++ ver -  let ghc_pkg = tmpdir </> "ghc-pkg-" ++ ver -  let haddock = tmpdir </> "haddock-" ++ ver +  let ghc = tmpdir </> "ghc-" ++ ver <.> ext +  let ghc_pkg = tmpdir </> "ghc-pkg-" ++ ver <.> ext +  let haddock = tmpdir </> "haddock-" ++ ver <.> ext    let progs = defaultPrograms { ghcProgram = ghc } -  createSymbolicLink prog ghc -  createSymbolicLink prog ghc_pkg -  createSymbolicLink prog haddock +  let link = case System.Info.os of +              "mingw32" -> copyFile +              _         -> createSymbolicLink + +  link prog ghc +  link prog ghc_pkg +  link prog haddock    let ?verbose = (==4) | 
