Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/kcov-ubuntu: Use kcov v35 to fix test coverage #244

Merged
merged 1 commit into from Jun 9, 2018

Conversation

mbland
Copy link
Owner

@mbland mbland commented Jun 9, 2018

I noticed during the build for #227 that test coverage dropped precipitously for no apparent reason:

https://coveralls.io/builds/14508796

The coverage dropped because SimonKagstrom/kcov@0dd22bd added the ability for kcov to automatically discover all scripts residing in the same directory of the script under test. In this case, it unfortunately discovered all the scripts in ./git and tests/kcov, as well as various *.md and *.yml files that happened to have "bash" in the first line regardless of the presence of a #!.

The interim fix for this was to add the --bash-dont-parse-binary-dir flag and to update the tests accordingly.

Also, since a bit of time elapsed since I returned to the problem, I realized the latest tip of kcov's master branch exhibited the hanging bug I helped squash in SimonKagstrom/kcov#211. The bug was reintroduced in SimonKagstrom/kcov@ad17136, which tried to fix a bug reported in SimonKagstrom/kcov#248 whereby kcov would hang on output that didn't contain newlines.

SimonKagstrom/kcov#249 attempted to resolve the bug, but didn't quite work and was abandoned. I may take a stab at fixing it one day, but in the meanwhile, kcov v35 with --bash-dont-parse-binary-dir works to get this project's test coverage back in shape.

I noticed during the build for #227 that test coverage dropped
precipitously for no apparent reason:

  https://coveralls.io/builds/14508796

The coverage dropped because SimonKagstrom/kcov@0dd22bd added the
ability for kcov to automatically discover all scripts residing in the
same directory of the script under test. In this case, it unfortunately
discovered all the scripts in ./git and tests/kcov, as well as various
*.md and *.yml files that happened to have "bash" in the first line
regardless of the presence of a #!.

The interim fix for this was to add the --bash-dont-parse-binary-dir and
to update the tests accordingly.

Also, since a bit of time elapsed since I returned to the problem, I
realized the latest tip of kcov's master branch exhibited the hanging bug I
helped squash in SimonKagstrom/kcov#211. The bug was reintroduced in
SimonKagstrom/kcov@ad17136, which tried to fix a bug reported in
SimonKagstrom/kcov#248 whereby kcov would hang on output that didn't
contain newlines.

SimonKagstrom/kcov#249 attempted to resolve the bug, but didn't quite
work and was abandoned. I may take a stab at fixing it one day, but in
the meanwhile, kcov v35 with --bash-dont-parse-binary-dir works to get
this project's test coverage back in shape.
@mbland mbland added the bug label Jun 9, 2018
@mbland mbland added this to the v1.8.0 milestone Jun 9, 2018
@mbland mbland self-assigned this Jun 9, 2018
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.03%) to 95.025% when pulling 2ae0d61 on fix-coverage-kcov-v35 into b8d7140 on master.

@mbland mbland merged commit c82223e into master Jun 9, 2018
@mbland mbland deleted the fix-coverage-kcov-v35 branch June 9, 2018 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
v1.8.0
Awaiting triage
Development

Successfully merging this pull request may close these issues.

None yet

2 participants