commit | 228a2fbfb15349679add5df29486dbaa64234f6a | [log] [tgz] |
---|---|---|
author | Liam Appelbe <liama@google.com> | Thu Dec 23 12:04:41 2021 -0800 |
committer | GitHub <noreply@github.com> | Thu Dec 23 12:04:41 2021 -0800 |
tree | 4db4b34375754dc52d18f3d13f5dc494af29b113 | |
parent | 14c3b70c4f0998b0bb691ea9a8b485331f77f416 [diff] |
Change function coverage to be backwards compatible (#356) There were 5 functions that were changed in a backwards incompatible way in #348: `createHitmap`, `mergeHitmaps`, `parseCoverage`, `toScriptCoverageJson`, and `Formatter.format`. This change makes #348 backwards compatible by renaming those newer functions, and adding versions of all those functions with the same signature as before. Most of these legacy functions simply wrap the newer versions and convert the `HitMap` back to a `Map<int, int>`. | Legacy | New | | --- | --- | | createHitmap | HitMap.parseJson | | mergeHitmaps | FileHitMaps.merge | | parseCoverage | HitMap.parseFiles | | toScriptCoverageJson | deprecated, no replacement | | Formatter | deprecated, no replacement | | PrettyPrintFormatter | FileHitMapsFormatter.prettyPrint | | LcovFormatter | FileHitMapsFormatter.formatLcov |
Coverage provides coverage data collection, manipulation, and formatting for Dart.
collect_coverage
collects coverage JSON from the Dart VM Observatory. format_coverage
formats JSON coverage data into either LCOV or pretty-printed format.
pub global activate coverage
Consider adding the pub global run
executables directory to your path. See Running a script from your PATH for more details.
dart --pause-isolates-on-exit --disable-service-auth-codes --enable-vm-service=NNNN script.dart pub global run coverage:collect_coverage --uri=http://... -o coverage.json --resume-isolates
or if the pub global run
executables are on your PATH,
collect_coverage --uri=http://... -o coverage.json --resume-isolates
where --uri
specifies the Observatory URI emitted by the VM.
If collect_coverage
is invoked before the script from which coverage is to be collected, it will wait until it detects a VM observatory to which it can connect. An optional --connect-timeout
may be specified (in seconds). The --wait-paused
flag may be enabled, causing collect_coverage
to wait until all isolates are paused before collecting coverage.
pub global run coverage:format_coverage --packages=app_package/.packages -i coverage.json
or if the pub global run
exectuables are on your PATH,
format_coverage --packages=app_package/.packages -i coverage.json
where app_package
is the path to the package whose coverage is being collected. If --sdk-root
is set, Dart SDK coverage will also be output.
// coverage:ignore-line
to ignore one line.// coverage:ignore-start
and // coverage:ignore-end
to ignore range of lines inclusive.// coverage:ignore-file
to ignore the whole file.