-
Notifications
You must be signed in to change notification settings - Fork 178
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
Fix lcov 2.0 source file handling #315
Fix lcov 2.0 source file handling #315
Conversation
Prior to 2.0 being released, `genhtml` was much better about handling source files from the following paths: * `test/support/some_helper.ex` * `lib/foo/bar.ex` But after 2.0 was released, when rendering with `genhtml` the paths would be mangled and look like the following: * `test/support/test/support/some_helper.ex` * `lib/foo/lib/foo/bar.ex` I have tried in vain with many permutations of `--prefix` when running `genhtml` but the ultimate fix that made all of this go away was using the absolute path for the source file (`SF`).
3633ecf
to
c6b4bd4
Compare
@@ -53,18 +53,18 @@ defmodule ExCoveralls.LcovTest do | |||
Lcov.execute(@source_info) | |||
end) =~ @stats_result | |||
|
|||
assert(File.read!(report) =~ ~s(TN:\nSF:test/fixtures/test.ex\nDA:1,0\nDA:2,1\nLF:2\nLH:1\nend_of_record\n)) | |||
%{size: size} = File.stat! report | |||
assert(size == @file_size) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to remove the file size assertion because with the absolute path being used, it would cause the file size to be different.
We already test the file size via the File.read!
and matching it against the string.
Hopefully @parroty this is okay to merge upstream as it would be nice for me to stop having to manually shim in a find replace for |
Thanks! |
Thanks for the comment 🙇 . (Before releasing the new version) I just wanted to confirm if it works on lcov 1.x too, as it's about the path expansion, correct? |
Correct, it's the path expansion/truncation being messed up. I have not checked this with lcov 1.0 as my distro and others have all bumped and upgraded as well. |
Thanks for the detailed information 🙇 . I try to release the package later today. |
* Cobertura now handles defprotocol and defimpl definitions (parroty#306) * Cobertura now handles defprotocol and defimpl definitions * Cobertura, catch all if module type is unknown * Bump version and update CHANGELOG * Add Cobertura docs to README.md (parroty#312) * Update Elixir requirement to 1.11+ (parroty#316) * Update Elixir requirement to 1.11+ * Update deps * Replace hackney with httpc (parroty#311) * Replace hackney with httpc * SSL options * FIXUP * Cache fixed * Aaaah, caching again * FIXUP * Add missing apps to :extra_applications * Add better check for :public_key * Bump version and update CHANGELOG * Fix lcov 2.0 source file handling (parroty#315) Prior to 2.0 being released, `genhtml` was much better about handling source files from the following paths: * `test/support/some_helper.ex` * `lib/foo/bar.ex` But after 2.0 was released, when rendering with `genhtml` the paths would be mangled and look like the following: * `test/support/test/support/some_helper.ex` * `lib/foo/lib/foo/bar.ex` I have tried in vain with many permutations of `--prefix` when running `genhtml` but the ultimate fix that made all of this go away was using the absolute path for the source file (`SF`). * Update CHANGELOG * Remove erroneous line in ExCoveralls.poster (parroty#318) * Import `.coverdata` after test run and improve documentation (parroty#309) * Import `.coverdata` after test run and improve docs * Update README table of contents * Update README based on review suggestion Co-authored-by: Alberto Sartori <[email protected]> --------- Co-authored-by: Alberto Sartori <[email protected]> * Update CHANGELOG * Accept custom http options (parroty#319) * Accept custom http options * Add HTTP options docs to README * Bump version and update CHANGELOG * Always floor coverage instead of rounding (parroty#310) * Always floor coverage instead of rounding We do not want to report a 100% coverage when there are lines that are not covered. * Add option to restore previous ceil coverage behaviour * Bump version and update CHANGELOG * Update README examples (parroty#320) * Use explicit steps to remove 1.16 deprecation warning (parroty#322) * Update CHANGELOG and bump version * Detect and warn about incorrectly used ignore-comments (parroty#325) * Detect and warn about incorrectly used ignore-comments Resolves parroty#197. * Keep existing ignoring behavior * Improve formatting * Test more ignore-related warnings * Remove warning in the case of ignore-next-line at the EOF * Test the warning output * Add a changelog entry * Adjust test descriptions --------- Co-authored-by: Roman <[email protected]> * Fix Elixir 1.17 single-quoted string warning (parroty#327) * Bump version and update CHANGELOG * add missing step for Cobertura's range (parroty#329) Without this change, the output is full of warnings such as ``` warning: negative steps are not supported in String.slice/2, pass 44..-1//1 instead ``` * Update CHANGELOG and version * Revert "add missing step for Cobertura's range (parroty#329)" (parroty#330) This reverts commit 00a96c4. * Revert version change * Update Range to use function syntax (parroty#332) * add missing step for Cobertura's range * Update Range to use function syntax * run tests in elixir 1.17 * fix test with relative path --------- Co-authored-by: parroty <[email protected]> * Update CHANGELOG and version --------- Co-authored-by: Rodrigue Villetard <[email protected]> Co-authored-by: parroty <[email protected]> Co-authored-by: Artem Solomatin <[email protected]> Co-authored-by: Andrea Leopardi <[email protected]> Co-authored-by: Matthew Johnston <[email protected]> Co-authored-by: Zach Allaun <[email protected]> Co-authored-by: Alberto Sartori <[email protected]> Co-authored-by: Victor Rodrigues <[email protected]> Co-authored-by: gitneko <[email protected]> Co-authored-by: Roman <[email protected]> Co-authored-by: Roman <[email protected]> Co-authored-by: Hans Krutzer <[email protected]> Co-authored-by: Juan Peri <[email protected]> Co-authored-by: Kenta Nakase <[email protected]>
Prior to 2.0 being released,
genhtml
was much better about handling source files from the following paths:test/support/some_helper.ex
lib/foo/bar.ex
But after 2.0 was released, when rendering with
genhtml
the paths would be mangled and look like the following:test/support/test/support/some_helper.ex
lib/foo/lib/foo/bar.ex
I have tried in vain with many permutations of
--prefix
when runninggenhtml
but the ultimate fix that made all of this go away was using the absolute path for the source file (SF
).