
#10952: Use IPids instead of package keys in HPC tix files -------------------------------------+------------------------------------- Reporter: mgsloan | Owner: Type: bug | Status: new Priority: low | Milestone: Component: Code Coverage | Version: 7.10.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | -------------------------------------+------------------------------------- With GHC 7.10.2, HPC module names are stored in the format "package_key/Module.Name", rather than "package_id/Module.Name". In stack, we restrict the coverage results to just the library modules by using the "--include" flag. For GHC 7.10, this means I need to ask ghc- pkg what the package key is in order to figure out what to pass in for "-- include" (see this issue: https://github.com/commercialhaskell/stack/issues/785). I thought this was done correctly, but now I'm seeing some cases where coverage is reporting (0/0) due to the wrong package key being passed in... I think I need to run the ghc-pkg query with the package's ipid rather than name.. So, I need to have the correct ipid somewhere, in order to run ghc-pkg describe, parse its results to find out what the package key is, and then finally pass this in as a CLI argument. The hpc program's CLI is already woefully error-prone (see https://ghc.haskell.org/trac/ghc/ticket/10951), but this makes it plain hellish. Is there a better way to do what I need to do here? I think the right approach to resolving this is to put the full ipid in the HPC files. Then, the hpc program should be modified to allow "-- include" argument to take multiple package identification formats - ipid, package identifier, or package name. If the full package name was included, I could at least do some custom tix file munging based on just the package name. As things stand, the only way I can meaningfully operate on tix files is if I have the correct package key. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10952 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler