
#1853: hpc mix files for Main modules overwrite each other ----------------------------------+-------------------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: lowest | Milestone: 8.0.1 Component: Code Coverage | Version: 6.8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ----------------------------------+-------------------------------------- Comment (by mgsloan): There's a pretty good reason not to vary `--hpcdir`. You can only pass in one `--hpcdir` to the `hpc` program, and it's treated as a relative path to each of the `--srdir`s. So, if you want to generate a report which spans multiple packages, `--hpcdir` needs to be kept constant. We might consider improving the hpc program's CLI. This particular issue is discussed further in https://ghc.haskell.org/trac/ghc/ticket/10951 The tricky thing about combining tix files together is that module names within the tix file are not sufficiently disambiguated. For packages, they are prefixed by their package key / id. So, you expect to find the mix file for `TixModule "cycli_6S2W1a0WjTe91AyXmPMq2j/Cyclic" ...` at some `HPCDIR/cycli_6S2W1a0WjTe91AyXmPMq2j/Cyclic.mix`. However, for modules from the non-library components, there is no folder. Instead it's just `TixModule "Main" ...` -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/1853#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler