Implement VM coverage gathering (#1088)
Open to feedback on this. Here's how it works at the moment:
There's a new `--coverage` option that you can use to specify the output directory for your coverage. It will create a new output directory if one doesn't already exist.
The tests are run through the engine, and then get spit out to a coverage helper function. That coverage helper function:
**A)** Checks if it's a VM suite
**B)** Gathers coverage if it is
**C)** Outputs coverage to `${suite path}.vm.json`
So, for example, when I run:
```bash
pub run test --coverage hello_world test/vm/simple_repo_test.dart
```
A new file gets added at `hello_world/test/vm/simple_repo_test.dart.vm.json` with the coverage results!This repository contains packages for writing and running Dart tests.
A full featured packaged for writing and running Dart tests on various platforms, e.g. VM, Chrome, Node etc.
A minimal package for writing tests. This package is used by package:test and package:test_core.
A minimal package for writing and running tests. It also contains extensions for implementing a custom test runner. This package is used by package:test.