NAME Devel::Cover::Report::Json_detailed - Generate a comprehensive JSON file articulating the full contents of a coverage run. VERSION version 0.001000 SYNOPSIS This is an attempt at extracting the contents of a "Devel::Coverage" "DB" into a more useful format for the web. cover -report json_detailed Emits: cover_db/cover_detailed.json Which has at present the following data structure: { report_format => '0.1.0', branches => { some_file => [@list_of_branch_reports], some_file => [@list_of_branch_reports], }, runs => [@list_of_run_reports], statements => { some_file => [@list_of_statement_reports], some_file => [@list_of_statement_reports], }, subs => { some_file => [@list_of_sub_reports], some_file => [@list_of_sub_reports], }, summary => {'???'}, } Branch Report: { line => 1, # The Line Number code => "", # The code in question for the branch coverage_error => 1, # Wether or not this is a coverage error uncoverable => 1, # If this is true, the following will be missing percentage => " 50" # The percent of covered branches true => 5, # The Number of covered branches false => 5, # The number of uncovered branches } Statement Report: { line => 1, # The Line Number code => "", # The code in question for the branch coverage_error => 1, # Wether or not this is a coverage error #--- # Any of the following may be eq "-" if they're not coverable. statement => 5, # Count of statement executions subroutine => 5, # Count of sub executions pod => 1, # Count of POD Coverage time => 500, # Time spent on statement branch => " 50", # Percent of covered branches condition => " 50", # Percent of covered conditions } Subroutine Report: { line => 1, # The Line Number name => "BEGIN", # The name of the subroutine uncoverable => 1, # If this is true, the following will be missing. count => 10, # The number of sub executions } Run Report: { start => UNIXTIME, # When the given test run started finish => UNIXTIME, # when the given test run stopped os => "linux", # The operating system the run ran on perl_version => "5.12.3", # The version of perl the run ran on run => "path/foo.t", # The invoked script time => finish - start, # Convenience time-elapsed } Though its very experimental because I'm still working out how the (Undocumented) guts of "Devel::Cover" works. Some of the fields feel wrongly named too but are kept because they're the same as "Devel::Cover"'s internals and I can't think of something better in the interim. But if I change anything significant, I'll also change the "report_format" string. AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.