Skip to content

Commit

Permalink
Add a test to check that extra-prog-path is honoured for local packages
Browse files Browse the repository at this point in the history
Whilst fixing haskell#10692, I realised there was also this bug where
extra-prog-path would not be honoured for specific packages.

The idea behind extra-prog-path is that each local package can use a
different version of a preprocessor if desired.
  • Loading branch information
mpickering authored and sheaf committed Jan 15, 2025
1 parent bb4ae8b commit ee2b3fb
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
packages: client
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module Main where

main = print 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: client
version: 0.1.0.0
synopsis: Checks build-tool-depends are put in PATH
license: BSD3
category: Testing
build-type: Simple
cabal-version: >=1.10

executable hello-world
main-is: Hello.hs
build-depends: base
default-language: Haskell2010
3 changes: 3 additions & 0 deletions cabal-testsuite/PackageTests/ExtraProgPathLocal/scripts/alex
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#! /usr/bin/env bash

echo "I am not the alex you are looking for"
4 changes: 4 additions & 0 deletions cabal-testsuite/PackageTests/ExtraProgPathLocal/scripts2/alex
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#! /usr/bin/env bash

echo "I am the alex you are looking for"
echo "module Main where main = print ()" > $3
10 changes: 10 additions & 0 deletions cabal-testsuite/PackageTests/ExtraProgPathLocal/setup.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# cabal v2-build
Configuration is affected by the following files:
- cabal.project
Resolving dependencies...
Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
- client-0.1.0.0 (exe:hello-world) (first run)
Configuring executable 'hello-world' for client-0.1.0.0...
Preprocessing executable 'hello-world' for client-0.1.0.0...
Building executable 'hello-world' for client-0.1.0.0...
7 changes: 7 additions & 0 deletions cabal-testsuite/PackageTests/ExtraProgPathLocal/setup.test.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import Test.Cabal.Prelude
-- Test package local extra-prog-path works.
main = cabalTest $ do
skipIfWindows
env <- getTestEnv
liftIO $ appendFile (testCurrentDir env </> "cabal.project") $ "\npackage client\n extra-prog-path:" ++ (testCurrentDir env </> "scripts2/")
addToPath (testTmpDir env </> "scripts/") $ cabal "v2-build" ["client"]

0 comments on commit ee2b3fb

Please sign in to comment.