haskell - cabal misconfiguration for tests -


my .cabal file contains following hspec configuration:

-- name of package. name:                mymodule  version:             0.1.0.0  cabal-version:       >=1.10 ... test-suite my-tests   ghc-options:         -wall -werror   cpp-options:         -dtest   default-extensions:  overloadedstrings   type:                exitcode-stdio-1.0   main-is:             hspectests.hs   hs-source-dirs:      tests   build-depends:       mymodule, base >= 4.8 && < 4.9, containers >= 0.5 && <0.6, split >= 0.2 && < 0.3, hspec   default-language:    haskell2010 

my directory structure follows:

myproject      | - src           | - main.hs           | - other.hs           | - tests              | -hspectests.hs      | - dist      | - myproj.cabal 

when run cabal build, source build succesfully executable ./dist/build/myproj/myproj.

cabal build fails with:

cabal: can't find source hspectests in dist/build/my-tests/my-tests-tmp, tests 

inspecting build directory shows my-tests directory missing.

changing hs-source-dirs src/tests produces:

cabal: can't find source hspectests in  dist/build/my-tests/my-tests-tmp, src/tests 

while moving tests top level under root/tests, , changing .cabal file hs-source-dirs: tests produces:

<command line>: cannot satisfy -package-id mymodule-0.1.0.0-inplace     (use -v more information) 

how have misconfigured this?

your hs-source-dirs wrong:

 hs-source-dirs:      tests 

given hspectests's path src/tests/hspectests.hs, should be

 hs-source-dirs:      src/tests 

however, keep in mind tests in top-level folder:

myproject      | - src           | - main.hs           | - other.hs      | - tests           | -hspectests.hs      | - dist      | - myproj.cabal 

Comments

Popular posts from this blog

c++ - llvm function pass ReplaceInstWithInst malloc -

Cross-Compiling Linux Kernel for Raspberry Pi - ${CCPREFIX}gcc -v does not work -

java.lang.NoClassDefFoundError When Creating New Android Project -