From 225e298977817508d0de9ba8d0275358fd649e29 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sun, 28 Aug 2016 23:07:19 +0300 Subject: [PATCH 1/6] Remove stack.yaml from test stack project --- test/data/stack-project/stack.yaml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 test/data/stack-project/stack.yaml diff --git a/test/data/stack-project/stack.yaml b/test/data/stack-project/stack.yaml deleted file mode 100644 index 6252712..0000000 --- a/test/data/stack-project/stack.yaml +++ /dev/null @@ -1,5 +0,0 @@ -flags: {} -packages: -- '.' -extra-deps: [] -resolver: lts-2.17 From dd45f6e31dac2dc0f90495ac04049283530449ae Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sun, 28 Aug 2016 23:19:12 +0300 Subject: [PATCH 2/6] Gitingore test project stack.yaml --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 05fd776..c3e127b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ elisp/*.elc *~ /.cabal-sandbox/ /.stack-work/ +/test/data/**/stack.yaml add-source-timestamps package.cache cabal.sandbox.config From 05d87f4175ed208c157075408f98d85529adc633 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sun, 28 Aug 2016 23:27:39 +0300 Subject: [PATCH 3/6] [Test] Stack: use ghc-* resolver based on ghc version --- test/Main.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/Main.hs b/test/Main.hs index 3558f56..fd0dc77 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -56,7 +56,13 @@ main = do let stackDir = "test/data/stack-project" void $ withDirectory_ stackDir $ do --- void $ system "stack init --force" + let ghcver = let gvn = show (__GLASGOW_HASKELL__ :: Int) + (major, minor') = splitAt (length gvn - 2) gvn + minor = case dropWhile (=='0') minor' of + "" -> "0" + x -> x + in major ++ "." ++ minor + void $ system $ "stack init --force --resolver=ghc-" ++ ghcver void $ system "stack setup" void $ system "stack build" From f8acb77e6b9d6df2b6a4e5f1c0765812ab6aa2bb Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sun, 28 Aug 2016 23:33:40 +0300 Subject: [PATCH 4/6] [Test] Use git to clean test/data/ --- test/Main.hs | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/test/Main.hs b/test/Main.hs index fd0dc77..5afd64d 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -4,7 +4,6 @@ import Dir import Control.Exception as E import Control.Monad (void) -import Data.List import Language.Haskell.GhcMod (debugInfo) import System.Process import System.Environment @@ -29,31 +28,15 @@ main = do , "test/data/duplicate-pkgver/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d"] genGhcPkgCache dir = system $ "ghc-pkg recache --force -f" ++ dir - genSandboxCfg `mapM_` sandboxes - genGhcPkgCache `mapM_` pkgDirs - - let caches = [ "setup-config" - , "setup-config.ghc-mod.cabal-helper" - , "setup-config.ghc-mod.cabal-components" - , "setup-config.ghc-mod.resolved-components" - , "setup-config.ghc-mod.package-options" - , "setup-config.ghc-mod.package-db-stack" - , "ghc-mod.cache" - ] - findExp = unwords $ intersperse "-o " $ concat [ - stackWorkFindExp, - cachesFindExp - ] - cachesFindExp = map ("-name "++) caches - stackWorkFindExp = ["-name .stack-work -type d"] - - cleanCmd = "find test \\( "++ findExp ++" \\) -exec rm -r {} \\;" - + let cleanCmd = "git clean -dxf test/data/" putStrLn $ "$ " ++ cleanCmd void $ system cleanCmd void $ system "cabal --version" void $ system "ghc --version" + genSandboxCfg `mapM_` sandboxes + genGhcPkgCache `mapM_` pkgDirs + let stackDir = "test/data/stack-project" void $ withDirectory_ stackDir $ do let ghcver = let gvn = show (__GLASGOW_HASKELL__ :: Int) From 8352b0207c20a94ea771ad13b192bfceff421342 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sun, 28 Aug 2016 23:59:55 +0300 Subject: [PATCH 5/6] [Test] Only git-clean ignored files --- test/Main.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Main.hs b/test/Main.hs index 5afd64d..3b899f4 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -28,7 +28,7 @@ main = do , "test/data/duplicate-pkgver/.cabal-sandbox/i386-osx-ghc-7.6.3-packages.conf.d"] genGhcPkgCache dir = system $ "ghc-pkg recache --force -f" ++ dir - let cleanCmd = "git clean -dxf test/data/" + let cleanCmd = "git clean -dXf test/data/" putStrLn $ "$ " ++ cleanCmd void $ system cleanCmd void $ system "cabal --version" From 01adcff8752a89e894acceaed7b58f7bc17b8c3b Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Mon, 29 Aug 2016 00:11:08 +0300 Subject: [PATCH 6/6] [Test] Write stack.yaml directly instead of `stack init` --- test/Main.hs | 2 +- test/data/stack-project/stack.yaml.in | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 test/data/stack-project/stack.yaml.in diff --git a/test/Main.hs b/test/Main.hs index 3b899f4..234b4fb 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -45,7 +45,7 @@ main = do "" -> "0" x -> x in major ++ "." ++ minor - void $ system $ "stack init --force --resolver=ghc-" ++ ghcver + void $ system $ "sed '$ a resolver: ghc-" ++ ghcver ++ "' stack.yaml.in > stack.yaml" void $ system "stack setup" void $ system "stack build" diff --git a/test/data/stack-project/stack.yaml.in b/test/data/stack-project/stack.yaml.in new file mode 100644 index 0000000..170293a --- /dev/null +++ b/test/data/stack-project/stack.yaml.in @@ -0,0 +1,4 @@ +flags: {} +packages: +- '.' +extra-deps: []