#9619: HPC Code Coverage complains when two exactly the same mix files are on the path -------------------------------------+------------------------------------- Reporter: Kasper | Owner: Type: bug | Status: infoneeded Priority: lowest | Milestone: Component: Code Coverage | Version: 7.8.3 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Incorrect result | (amd64) at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * status: new => infoneeded Comment: @Kasper: I need your help here. I can't reproduce your problem. Here's what I've tried. Source code: {{{ cat > ./T9619.cabal <<EOF name: T9619 version: 0.1.0.0 build-type: Simple cabal-version: >=1.2 executable T9619 main-is: T9619.hs build-depends: base test-suite IntegrationTests type: exitcode-stdio-1.0 main-is: IntegrationTests.hs ghc-options: -main-is IntegrationTests other-modules: ModuleATest build-depends: base test-suite UnitTests type: exitcode-stdio-1.0 main-is: UnitTests.hs ghc-options: -main-is UnitTests other-modules: ModuleATest build-depends: base EOF cat > ./Setup.hs <<EOF import Distribution.Simple main = defaultMain EOF cat > ./T9619.hs <<EOF main = return () EOF cat > ./IntegrationTests.hs <<EOF module IntegrationTests(main) where import ModuleATest main :: IO () main = print moduleATest EOF cat > ./UnitTests.hs <<EOF module UnitTests(main) where import ModuleATest main :: IO () main = print moduleATest EOF cat > ./ModuleATest.hs <<EOF module ModuleATest where moduleATest = "hello" EOF }}} {{{ $ cabal configure --enable-tests --enable-coverage $ cabal test $ find dist/hpc/vanilla/mix/ > output dist/hpc/vanilla/mix/ dist/hpc/vanilla/mix/IntegrationTests dist/hpc/vanilla/mix/IntegrationTests/ModuleATest.mix dist/hpc/vanilla/mix/IntegrationTests/IntegrationTests.mix dist/hpc/vanilla/mix/UnitTests dist/hpc/vanilla/mix/UnitTests/ModuleATest.mix dist/hpc/vanilla/mix/UnitTests/UnitTests.mix $ hpc sum dist/hpc/vanilla/tix/IntegrationTests/IntegrationTests.tix dist/hpc/vanilla/tix/UnitTests/UnitTests.tix --union Tix [TixModule "IntegrationTests" 1693426709 3 [1,1,1],TixModule "ModuleATest" 897400108 2 [2,2],TixModule "UnitTests" 1821344755 3 [1,1,1]] $ cabal --version cabal-install version 1.23.0.0 using version 1.23.0.0 of the Cabal library $ ghc --version The Glorious Glasgow Haskell Compilation System, version 7.8.4 }}} It all seems to work to me. The `ModuleATest.mix` file is indeed generated twice, but it doesn't seem to bother `hpc sum`. You mention "When performing hpc sum and hpc markup to get the total result of the test runs I need to specify the directories where the mix files are present". What is the command you use to run `hpc sum`. My understanding is that `hpc sum` only takes .tix files, not .mix files. I must be missing something, so please clarify. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9619#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler