From dadb89dcdaee8d3e662c665afdee1a05551a6602 Mon Sep 17 00:00:00 2001
From: "Edward Z. Yang" <ezyang@cs.stanford.edu>
Date: Fri, 25 Nov 2016 22:41:43 -0500
Subject: [PATCH] Port exec/adds_sandbox_bin_directory_to_path to new test
 suite

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
---
 .../exec/adds_sandbox_bin_directory_to_path.out    |  1 -
 .../exec/adds_sandbox_bin_directory_to_path.sh     | 10 ----------
 cabal-testsuite/PackageTests/Exec/Foo.hs           |  4 ++++
 cabal-testsuite/PackageTests/Exec/My.hs            |  5 +++++
 cabal-testsuite/PackageTests/Exec/my.cabal         | 14 ++++++++++++++
 .../PackageTests/Exec/sandbox-path.test.hs         |  8 ++++++++
 6 files changed, 31 insertions(+), 11 deletions(-)
 delete mode 100644 cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out
 delete mode 100644 cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh
 create mode 100644 cabal-testsuite/PackageTests/Exec/Foo.hs
 create mode 100644 cabal-testsuite/PackageTests/Exec/My.hs
 create mode 100644 cabal-testsuite/PackageTests/Exec/my.cabal
 create mode 100644 cabal-testsuite/PackageTests/Exec/sandbox-path.test.hs

diff --git a/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out b/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out
deleted file mode 100644
index 27df3614e9..0000000000
--- a/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.out
+++ /dev/null
@@ -1 +0,0 @@
-This is my-executable
diff --git a/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh b/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh
deleted file mode 100644
index cc344c69ae..0000000000
--- a/cabal-install/tests/IntegrationTests/exec/adds_sandbox_bin_directory_to_path.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-. ./common.sh
-
-cabal sandbox delete > /dev/null
-cabal exec my-executable && die "Unexpectedly found executable"
-
-cabal sandbox init > /dev/null
-cabal install > /dev/null
-
-# Execute indirectly via bash to ensure that we go through $PATH
-cabal exec sh -- -c my-executable || die "Did not find executable"
diff --git a/cabal-testsuite/PackageTests/Exec/Foo.hs b/cabal-testsuite/PackageTests/Exec/Foo.hs
new file mode 100644
index 0000000000..5924b011a0
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Exec/Foo.hs
@@ -0,0 +1,4 @@
+module Foo where
+
+foo :: String
+foo = "foo"
diff --git a/cabal-testsuite/PackageTests/Exec/My.hs b/cabal-testsuite/PackageTests/Exec/My.hs
new file mode 100644
index 0000000000..b467ba86e0
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Exec/My.hs
@@ -0,0 +1,5 @@
+module Main where
+
+main :: IO ()
+main = do
+    putStrLn "This is my-executable"
diff --git a/cabal-testsuite/PackageTests/Exec/my.cabal b/cabal-testsuite/PackageTests/Exec/my.cabal
new file mode 100644
index 0000000000..797a2c7d4f
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Exec/my.cabal
@@ -0,0 +1,14 @@
+name:           my
+version:        0.1
+license:        BSD3
+cabal-version:  >= 1.2
+build-type:     Simple
+
+library
+    exposed-modules:    Foo
+    build-depends:      base
+
+
+executable my-executable
+    main-is:            My.hs
+    build-depends:      base
diff --git a/cabal-testsuite/PackageTests/Exec/sandbox-path.test.hs b/cabal-testsuite/PackageTests/Exec/sandbox-path.test.hs
new file mode 100644
index 0000000000..ab4b666c6f
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Exec/sandbox-path.test.hs
@@ -0,0 +1,8 @@
+import Test.Cabal.Prelude
+main = cabalTest $ do
+    withSandbox $ do
+        fails $ cabal "exec" ["my-executable"]
+        cabal "install" []
+        -- Execute indirectly via bash to ensure that we go through $PATH
+        cabal' "exec" ["sh", "--", "-c", "my-executable"]
+            >>= assertOutputContains "This is my-executable"
-- 
GitLab