GithubHelp home page GithubHelp logo

block-forest / dart-coveralls Goto Github PK

View Code? Open in Web Editor NEW
27.0 27.0 17.0 227 KB

Calculate coverage of your dart scripts, format it to LCOV and send it to coveralls

Home Page: https://pub.dartlang.org/packages/dart_coveralls

License: MIT License

Dart 98.61% Shell 1.39%

dart-coveralls's People

Contributors

adracus avatar bkonyi avatar denniskaselow avatar devoncarew avatar eseidel avatar eseidelgoogle avatar kevmoo avatar mlocher avatar nilsdoehring avatar pq avatar sethladd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dart-coveralls's Issues

Starting Dart 1.16.0, dart_coverage is failing

The way of computing coverage information has changed in Dart 1.16.0.
As a result, dart_coveralls is failing with following error.

$ pub global run dart_coveralls calc test/serializer_test.dart
Process exited with code 255.
Unrecognized flags: coverage_dir

Q: How to run with content shell?

When executing calc/report it assumes to run an stand-alone VM
...error message:
The built-in library 'dart:html' is not available on the stand-alone VM.
'package:lightning/lightning.dart': error: line 29 pos 1: library handler failed
import 'dart:html';

what do I need to do to get it to run with dartium or content shell ?

`dart bin/dart-coveralls.dart test/test-all.dart` gives incorrect data

I'm just attempting to sanity check dart-coveralls against itself.

I'm using Dart VM version: 1.23.0-dev.0.0 (Tue Feb 14 14:19:29 2017) on "macos_x64"

dart bin/dart_coveralls.dart calc test/test_all.dart >| coverage/lcov.info

The very first record is wrong:

SF:/src/dart-coveralls/test/test_all.dart
DA:8,1
DA:9,0
DA:10,0
end_of_record

Note is says only the first line (8) is covered. But if I hack dart_coveralls.dart to route stdout from the subprocess to stderr, I see that's not true:

diff --git a/lib/src/collect_lcov.dart b/lib/src/collect_lcov.dart
index 272512e..f2b1b4e 100644
--- a/lib/src/collect_lcov.dart
+++ b/lib/src/collect_lcov.dart
@@ -131,6 +131,7 @@ class LcovCollector {
       if (uri != null) {
         hostCompleter.complete(uri);
       }
+      stderr.write(data);
     });
     Uri host = await hostCompleter.future;
 

Because I see it printing lines from areas under lines 9 and 10, which are claimed to "not be covered".

If I check manually in observatory it's clearly covered:
dart --pause-isolates-on-exit --enable-vm-service test/test_all.dart

screen shot 2017-02-19 at 11 32 49 am

So something isn't quite right.

Getting an exception when using calc with no existing coverage file

The code assumes there is an existing coverage file. There might not be.

Unhandled exception:
Exception: Empty iterable
#0      LcovCollector.youngestElement (package:dart_coveralls/src/collect_lcov.dart:106:24)
#1      LcovCollector.getYoungestDartCoverageFile (package:dart_coveralls/src/collect_lcov.dart:101:27)
#2      LcovCollector.getCoverageJson (package:dart_coveralls/src/collect_lcov.dart:89:49)
#3      LcovCollector.getLcovInformation (package:dart_coveralls/src/collect_lcov.dart:68:37)
#4      CalcPart.execute (file:///Users/kevmoo/source/github/coveralls.dart/bin/src/calc.dart:38:40)
#5      CommandLineHub.execute (file:///Users/kevmoo/source/github/coveralls.dart/bin/src/command_line.dart:43:17)
#6      Object&CommandLinePart.parseAndExecute (file:///Users/kevmoo/source/github/coveralls.dart/bin/src/command_line.dart:12:53)
#7      main (file:///Users/kevmoo/source/github/coveralls.dart/bin/dart_coveralls.dart:15:29)

Support for files outside of /lib.

When looking at the code it seems --exclude-test-files trows out the baby with the bath by excluding any and all local files. This create a nasty scenario when the files under test is in /bin.

It seems by the coding of dart-coveralls that there is an assumption built in that only files inside /lib will ever need to be tested and yes that work for most packages bot not applications.

If support is not added i hope this issue stands as a warning to others. As it sands if you want to test files outside /lib don't enable --exclude-test-files that every tutorial say.

dart.exe crashes

Getting this exception when running coveralls on my package:

https://github.com/frankpepermans/rxdart/blob/master/.travis.yml

Exception
ProcessException: There was a critical error. Exit code: -1073741819
Command: dart --coverage_dir=C:\Users\Frank\AppData\Local\Temp\dart_coveralls.
97c45ac5-7a3c-11e5-beb9-7054d220a8f2 --package-root=E:\work\production\igindo\da
rt\rxdart\packages E:\work\production\igindo\dart\rxdart\test/all_tests.dart
package:dart_coveralls/src/collect_lcov.dart 116 LcovCollector._getCoverageJson
.
===== asynchronous gap ===========================
dart:async _Completer.completeError
package:dart_coveralls/src/collect_lcov.dart 124 LcovCollector._getCoverageJson
.
===== asynchronous gap ===========================
dart:async _Future.then
package:dart_coveralls/src/collect_lcov.dart 110 LcovCollector._getCoverageJson
.
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:dart_coveralls/src/collect_lcov.dart LcovCollector._getCoverageJson

package:dart_coveralls/src/collect_lcov.dart 89 LcovCollector.getLcovInformati
on.
===== asynchronous gap ===========================
dart:async _Future.then
package:dart_coveralls/src/collect_lcov.dart 87 LcovCollector.getLcovInformati
on.
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:dart_coveralls/src/collect_lcov.dart LcovCollector.getLcovInformati
on
package:dart_coveralls/src/cli_client.dart 39 CommandLineClient.getLcovResul
t
package:dart_coveralls/src/cli_client.dart 61 CommandLineClient.reportToCove
ralls.
===== asynchronous gap ===========================
dart:async Future.Future.microtask
package:dart_coveralls/src/cli_client.dart CommandLineClient.reportToCove
ralls
http://localhost:59221/src/report.dart 81 ReportPart.execute..<fn

.
===== asynchronous gap ===========================
package:stack_trace Chain.capture
http://localhost:59221/src/report.dart 77 ReportPart.execute.

Error: This expression has type 'void' and can't be used.

The stagehand travis build is failing due to dart_coveralls issues (https://travis-ci.org/dart-lang/stagehand/jobs/406415905):

Failed to precompile dart_coveralls:dart_coveralls:
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/report.dart:16:29: Error: This expression has type 'void' and can't be used.
    if (res["help"]) return print(parser.usage);
                            ^
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/report.dart:22:38: Error: This expression has type 'void' and can't be used.
    if (res.rest.length != 1) return print("Please specify a test file to run");
                                     ^
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/report.dart:25:36: Error: This expression has type 'void' and can't be used.
    if (!file.existsSync()) return print("Dart file does not exist");
                                   ^
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/upload.dart:15:29: Error: This expression has type 'void' and can't be used.
    if (res["help"]) return print(parser.usage);
                            ^
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/upload.dart:22:14: Error: This expression has type 'void' and can't be used.
      return print("Please specify a directory containing VM coverage files");
             ^
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/dart_coveralls-0.6.0+1/bin/src/upload.dart:33:14: Error: This expression has type 'void' and can't be used.
      return print("Directory containing VM coverage files does not exist");
             ^

For now, I'll just skip anything in the stagehand build that requires dart_coveralls.

builds w/ coveralls failing due to stale `coverage` dependency

See for example the Dart linter:

Failed to precompile dart_coveralls:dart_coveralls:
file:///home/travis/.pub-cache/hosted/pub.dartlang.org/coverage-0.10.0/lib/src/hitmap.dart:76:39: Error: Getter not found: 'JSON'.
    List<Map<String, dynamic>> json = JSON.decode(contents)['coverage'];


<snip>

Updating deps should fix it.

See: #82.

JSON file not found or failed to parse.

When I execute coveralls, sometimes, I have this exception:

Unhandled exception:
Uncaught Error: Exception: Unprocessable Entity
{"message":"JSON file not found or failed to parse.","error":true,"url":""}
Stack Trace:
#0 CoverallsReport.sendToCoveralls.. (package:dart_coveralls/dart_coveralls.dart:371)
#1 _RootZone.runUnary (dart:async/zone.dart:1155)
#2 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:484)
#3 _Future._propagateToListeners (dart:async/future_impl.dart:567)
#4 _Future._complete (dart:async/future_impl.dart:348)
#5 Stream.toList. (dart:async/stream.dart:754)
#6 _RootZone.runGuarded (dart:async/zone.dart:1082)
#7 _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:390)
#8 _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:399)
#9 _BufferingStreamSubscription._close (dart:async/stream_impl.dart:290)
#10 _StreamController&&_SyncStreamControllerDispatch._sendDone (dart:async/stream_controller.dart:598)
#11 _StreamController._closeUnchecked (dart:async/stream_controller.dart:454)
#12 _StreamController.close (dart:async/stream_controller.dart:447)

Feature request: Let me give dart_coverall list of observatory urls.

It would be nice if i could give dart_coverall a list of urls to existing observatory's that is paused. So that dart_coverall can extract and combine coverage information. This would enable exacting coverage information from Dartium. And allow more complex setups where no single test run can cover it all.

Yes dart_coverall should unpause when done.

Coverage failed to send but travis succeeded?

https://travis-ci.org/block-forest/dart-coveralls/jobs/206589962#L1573

Sending coverage information. JSON length: 35498
Coverage information sent.
Error sending
Exception: Internal Server Error
Retrying 1 of 2.
Sending coverage information. JSON length: 35498
Coverage information sent.
Error sending
Exception: Bad Gateway
Retrying 2 of 2.
Sending coverage information. JSON length: 35498
Coverage information sent.
Exception
Exception: Internal Server Error
package:dart_coveralls/src/coveralls_endpoint.dart 38:7  CoverallsEndpoint.sendToCoveralls.<async>
===== asynchronous gap ===========================
dart:async                                               _Completer.completeError
package:dart_coveralls/src/coveralls_endpoint.dart 46:1  CoverallsEndpoint.sendToCoveralls.<async>
===== asynchronous gap ===========================
dart:async                                               _asyncThenWrapperHelper
package:dart_coveralls/src/coveralls_endpoint.dart       CoverallsEndpoint.sendToCoveralls
package:dart_coveralls/src/cli_client.dart 153:35        _sendLoop.<async>
dart:async                                               _Completer.completeError
package:dart_coveralls/src/coveralls_endpoint.dart 46:1  CoverallsEndpoint.sendToCoveralls.<async>
===== asynchronous gap ===========================
dart:async                                               _asyncErrorWrapperHelper
package:dart_coveralls/src/cli_client.dart               _sendLoop
package:dart_coveralls/src/cli_client.dart 137:14        CommandLineClient.uploadToCoveralls.<async>
===== asynchronous gap ===========================
dart:async                                               Future.Future.microtask
package:dart_coveralls/src/cli_client.dart               CommandLineClient.uploadToCoveralls
package:dart_coveralls/src/cli_client.dart 71:12         CommandLineClient.reportToCoveralls.<async>
dart:async                                               _SyncCompleter.complete
package:dart_coveralls/src/collect_lcov.dart 91:5        LcovCollector.getLcovInformation.<async>
dart:async                                               _SyncCompleter.complete
package:coverage/src/formatter.dart 58:5                 LcovFormatter.format.<async>
===== asynchronous gap ===========================
dart:async                                               _asyncThenWrapperHelper
package:dart_coveralls/src/cli_client.dart               CommandLineClient.reportToCoveralls
bin/src/report.dart 47:38                                ReportPart.execute.<async>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace                                      Chain.capture
bin/src/report.dart 41:42                                ReportPart.execute.<async>
Coverage complete.
The command "./tool/travis.sh" exited with 0.
Done. Your build exited with 0.

Maybe we should change our travis.sh to fail in that case?

Use CI_* environment variables over git when available

From https://coveralls.zendesk.com/hc/en-us/articles/201347419-Coveralls-currently-supports

It's easy to support Coveralls on your CI server, all that's needed are these environment variables to be available at build time:

CI_NAME
CI_BUILD_NUMBER
CI_BUILD_URL
CI_BRANCH
CI_PULL_REQUEST (optional)

I'm trying to hook in the latest Drone to use coveralls but the git commands dart-coveralls is using fail so would it be possible to look for these environment variables before invoking git?

Any command freezes

Report command freezes after a few seconds on my machine.
Sample output:

C:\Users\syberside\Desktop\Projects\github\Activatory>dart_coveralls report --debug -C -E -T --retry=1 --token=$coverallsToken ./test/activatory_test.dart
Evaluated dart file is C:\Users\syberside\Desktop\Projects\github\Activatory\./test/activatory_test.dart
Token is not empty
Using packages file: .packages

Travis CI builds have same issue: https://travis-ci.com/syberside/Activatory

NPE when gathering coverage

This is for v 0.0.18, running dart_coveralls report --token $COVERALLS test/all.dart

Unhandled exception:
Uncaught Error: The null object does not have a method 'group'.
NoSuchMethodError: method not found: 'group'
Receiver: null
Arguments: [0]
Stack Trace:
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1      GitPerson.getPersonMail (package:dart_coveralls/git_data.dart:21)
#2      GitPerson.GitPerson.fromPersonString (package:dart_coveralls/git_data.dart:14)
#3      GitAuthor.GitAuthor.fromPersonString (package:dart_coveralls/git_data.dart:46)
#4      GitCommit.parse (package:dart_coveralls/git_data.dart:78)
#5      GitCommit.getCommit (package:dart_coveralls/git_data.dart:71)
#6      GitData.getGitData (package:dart_coveralls/git_data.dart:184)
#7      CoverallsReport.getReportFromLcovString (package:dart_coveralls/dart_coveralls.dart:309)
#8      ReportPart.execute.<anonymous closure> (http://localhost:44327/src/calculate_and_send_coverage.dart:48)

filter sdk classes?

I see a lot of sdk files in my coverage report:

https://coveralls.io/builds/1627590

I'd be nice to filter that out by default. It's contributing to my overall coverage score of 9%, but I don't really want dart sdk code (or other people's package: code) to contribute to my coverage.

Uncaught Error: Connection closed while receiving data

I'm seeing this in my build logs:

Unhandled exception:
Uncaught Error: Connection closed while receiving data
Stack Trace:
#0      IOClient.send.<anonymous closure>.<anonymous closure> (package:http/src/io_client.dart:67)
#1      _invokeErrorHandler (dart:async/async_error.dart:12)

from https://travis-ci.org/dart-lang/usage/builds/44391461. Not sure what's causing it :( It's failing my builds. It might be nice to make the exit code of dart_coveralls configurable, so that failing to run (or upload?) coverage doesn't fail a build.

Hangs when test contains ServerSocket.

I'm trying to run a test that uses a ServerSocket in its implementation (since the class I'm testing connects to a TCP socket). Travis can run the test just fine, but running dart_coveralls on it hangs.

In fact, dart_coveralls will hang on this script too:

import 'dart:io';

main() async => await ServerSocket.bind('127.0.0.1', 55555);

I can't quite tell from looking at the code what the bug is, though.

--upload-report functionality (upload a report, don't run tests)

We need to run tests in a special way, but I can generate the coverage report.

I don't need the dart_coveralls system to run the tests, just upload the report.

Thoughts on something like an --upload-report flag that just uploads a .json report, but doesn't actually run the tests?

Examples and a blog post?

Hi!

Thanks for this package. Do you have any documentation on how to use this? I'd love to try it out and share.

Cheers!

Ability to merge reports from multiple projects

In a larger project one may have a backend, fronted and mobile (flutter) app, each within the same repository but inside different packages. As each of these have their own test script it would be nice to have the ability to run multiple scripts and combine their reports

frontend/pubspec.yaml
frontend/packages
frontend/test/frontend_test.dart
backend/pubspec.yaml
backend/packages
backend/test/backend_test.dart
mobile/pubspec.yaml
mobile/packages
mobile/test/mobile_test.dart

With the current structure of dart-coveralls, its somewhat complicated to merge reports generated inside each project by hand (see #49)

FormatException when uploading two calculated files

I have multiple dart projects in one repo, my build system is using these steps:

mkdir coverage
cd server
pub get
dart_coveralls calc --workers 2 --output ../coverage/server.lcov test/all.dart
cd ../client
pub get
dart_coveralls calc --workers 2 --output ../coverage/client.lcov test/all.dart
dart_coveralls upload --debug -T --token TOKEN ../coverage

The steps run and create the two LCOV files, but the last step fails with a FormatException:

Package root is /path/to/client/packages
Directory containing VM coverage files is /path/to/client/../coverage
Token is not empty
Exception
FormatException: Unexpected character (at character 1)
SF:/path/to/client/t...
^

dart:async                                       _Completer.completeError
package:coverage/src/hitmap.dart 75              parseCoverage.<async>.<fn>.<async>
===== asynchronous gap ===========================
dart:async                                       Future.wait
package:coverage/src/hitmap.dart 72              parseCoverage.<async>
===== asynchronous gap ===========================
dart:async                                       Future.Future.microtask
package:coverage/src/hitmap.dart                 parseCoverage
package:dart_coveralls/src/collect_lcov.dart 65  LcovCollector.convertVmReportsToLcov.<async>
===== asynchronous gap ===========================
dart:async                                       _asyncThenWrapperHelper
package:dart_coveralls/src/collect_lcov.dart     LcovCollector.convertVmReportsToLcov
package:dart_coveralls/src/cli_client.dart 86    CommandLineClient.convertAndUploadToCoveralls.<async>
===== asynchronous gap ===========================
dart:async                                       Future.Future.microtask
package:dart_coveralls/src/cli_client.dart       CommandLineClient.convertAndUploadToCoveralls
http://localhost:46782/src/upload.dart 64        UploadPart.execute.<async>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace                              Chain.capture
http://localhost:46782/src/upload.dart 60        UploadPart.execute.<async>

The above happens in Linux. In Windows, I get the same thing, but with different paths.

problem getting dart_coveralls set up

I'm trying to get dart_coveralls set up for my project and running into an error:

https://travis-ci.org/dart-lang/usage/builds/44274079

It looks like the app is having issues shelling out to git? Does this problem ring any bells?

Unhandled exception:
Uncaught Error: ProcessException: 
stdout:
stderr:
fatal: 'HEAD' - not a valid ref
  Command: git show-ref --verify HEAD

For context, my build is running on travis. Thanks for any ideas!

How to set platform for dart_coveralls calc

Environment: Dart VM version: 2.0.0-dev.55.0 (Mon May 14 09:23:07 2018 +0200) on "macos_x64"

When executing unit tests with pub run test it is possible to specify a platform, for example pub run test -p "chrome" test/test_all.dart. This makes it possible to use dart:html which is not available on default platform vm.

How can I generate code coverage for the unit tests that require the dart:html platform?
Running pub global run dart_coveralls calc test/test_all.dart results in a timeout.

I also tried run dart_coveralls report --dry-run --debug test/test_all.dart and then I see:

Using packages file: .packages
Bad state: Failed to complete within 60s
Nothing to collect: Connection to VM service timed out. Make sure your test file is free from errors: /Users/lucwollants/Workspaces/2dotstwice/gvq/gvq_admin_ui/test/test_all.dart

The project I am trying to enable code coverage for https://github.com/VSVverkeerskunde/gvq-admin-ui

Ability to upload calculated coverage

The current upload command only allows uploading coverage generated using

dart --observe=NNNN test_script.dart
pub global run coverage:collect_coverage --port=NNNN -o cov-dir/cov.json --resume-isolates

which is then uploaded using.

pub global run dart_coveralls upload --token my-token cov-dir

this is somewhat cumbersome workflow, I would much rather prefer being able to upload the reports generated by _dart_coveralls calc_ command, i.e. something like

pub global run dart_coveralls upload-cov --token my-token  --files cov1.json cov2.json

this would also be useful when merging reports

intermittent failure

I do see an intermittent failure:

https://travis-ci.org/dart-lang/usage/builds/44498443

Unhandled exception:
Uncaught Error: ProcessException: fatal: ambiguous argument '@{-1}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
  Command: git rev-parse --abbrev-ref @{-1}
Stack Trace:
#0      GitBranch.getCurrentBranchName (package:dart_coveralls/src/git_data.dart:163)
#1      GitBranch.getCurrentBranchName (package:dart_coveralls/src/git_data.dart:167)
#2      GitBranch.getCurrent (package:dart_coveralls/src/git_data.dart:174)
#3      GitData.getGitData (package:dart_coveralls/src/git_data.dart:201)
#4      CoverallsReport.parse (package:dart_coveralls/src/coveralls_entities.dart:220)
#5      CommandLineClient.reportToCoveralls.<anonymous closure> (package:dart_coveralls/src/cli_client.dart:60)

It's not on every build. Perhaps some timing issues for when travis is run? I did a few quick commits to the repo.

Ability to use dart-coveralls with a provided .json file

In Flutter land, we run tests in esoteric configurations: we have our own VM embedding, we sometimes run the tests on devices, it's a complicated setup.

However, we can set things up so that we get a bunch of JSON files generated from various runs of the VM over various tests in various configurations.

We'd like to use dart-coveralls (or something else?) to convert these JSON files into useful data so we can tell where we need more testing.

print out more info on --help

It would be great if dart_coveralls printed more info about available command-line options on dart_coveralls --help. Currently it prints Possible commands are: report, calc, but doesn't mention the args you can pass to the commands.

'pub global activate dart_coveralls' does not work with Dart 2.0

Hi there,

I just switched one of my packages to Dart 2.0 but the build fails because of fail in resolving dependencies while activating dart_coveralls
Here is the build:
https://travis-ci.org/VerbalExpressions/DartVerbalExpressions/jobs/415045066
Travis config:
https://github.com/VerbalExpressions/DartVerbalExpressions/blob/master/.travis.yml
Travis build script:
https://github.com/VerbalExpressions/DartVerbalExpressions/blob/master/tool/travis.sh

Probably, I forget to update something, but I cannot figure out what exactly.
Could you help me?

coverage of code in /test

I'm seeing coverage of code in the test/ directory (https://coveralls.io/builds/1644179).

I'm guessing that most people aren't interested in coverage of their test code itself, but more code in lib/, web/, bin/, ...

What do you think of filtering code in test/ by default, and perhaps adding a flag to not filter it?

Getting ready for Dart2 (package updates:`file` and `mockito`).

I started playing with running dart_coveralls in preview Dart2 mode and hit a snag because it's filesystem abstraction (mockable_filesystem) isn't Dart2-friendly. While mockable_filesystem could be updated, I think a better option is to migrate to the file package , which is under active development.

FWIW, I started down this road in #75 which needs some attention --- minimally in getting the tests working. Comments and thoughts on that or the direction altogether are most welcome!

/cc @kevmoo @tvolkert @nilsdoehring

FYI @devoncarew

Issue with the --exclude-test-files flag?

When I run with --exclude-test-files, I see:

Caught Exception: Unprocessable Entity
{"message":"JSON file not found or failed to parse.","error":true,"url":""}
Unhandled exception:
Uncaught Error: Exception: Unprocessable Entity
{"message":"JSON file not found or failed to parse.","error":true,"url":""}
#0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:886)
#1      _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:41)
#2      _asyncRunCallback (dart:async/schedule_microtask.dart:48)
#3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:84)
#4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:131)

Two other odd things:

Even with this exception, my coverage is generated and uploaded to coveralls; it (correctly) does not include coverage for the code in test/.

And, it looks like my tests are being executed twice, once before the exception is printed out and once after (https://travis-ci.org/dart-lang/usage/builds/45565957). I don't see the exception if I run w/o this flag. Note, in the build log above, the tests are executed three times - the first is me validating the build, and the next run(s) are to gather coverage.

Taking into account all dart files not run by unit tests

We run dart_coveralls via travis.ci.

Now dart_coveralls seems to upload only coverage information for the files that are run during unit testing. Meaning all dart files that are not yet checked by unit tests (0% coverage) are ignored during code coverage calculation.

As a result the coverage percentage is too high not taking into account all the non-covered dart files.

Is there a way to measure coverage for the group of all existing dart files in a repository tree or a subfolder?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.