[GHC] #10952: Use IPids instead of package keys in HPC tix files
GHC
ghc-devs at haskell.org
Fri Oct 9 05:11:32 UTC 2015
#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
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
-------------------------------------+-------------------------------------
Description changed by mgsloan:
Old description:
> 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.
New description:
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. This should also make it possible to
remove the explici
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. There isn't enough information in the files to perform
operations based on package name.
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10952#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list