Comments (11)
Note that the format change has landed into GCC's trunk and will be part of next release (9.1).
from grcov.
Can you explain a little more about "GCOV support for an Intermediate format" and what this means?
How do you run this two codes gcc-mirror/gcc@a82502d, gcc-mirror/gcc@3cf7fdd?
And does these code require other dependencies files to execute?
from grcov.
Can you explain a little more about "GCOV support for an Intermediate format" and what this means?
This is a good first bug, but it requires a bit of research first. Have you tried looking it up online? Do you know what GCOV is?
How do you run this two codes gcc-mirror/gcc@a82502d, gcc-mirror/gcc@3cf7fdd?
And does these code require other dependencies files to execute?
We don't have to run that, they are just patches showing what changed.
from grcov.
Formatting .cpp .h files in order to Improve coverage and gcov result.
Given an Input File with this example code.
@smallexample
file:@var{source_file_name}
function:@var{line_number},@var{execution_count},@var{function_name
}
+lcount:@var{line
number},@var{execution_count},@var{has_unexecuted_block}
branch:@var{line_number},@var{branch_coverage_type}
Where the @var{branch_coverage_type} is
From: gcc-mirror/gcc@3cf7fdd
We can format unexecuted lines or unexecuted block, such as @var{has_unexecuted_block} as follows:
First, read in input stream of .cpp .h file
Process the file by editing each line and Eliminating unsupported variable, lines and blocks{ },
By dropping these lines or blocks into the next line while maintaining and preserving the function or the statement functionality.
By doing so, we can maintain the current executable capacity that is limited in length or by the number of blocks. Which will result in more coverage.
Thanks.
from grcov.
@Juniar-II what you are describing is unrelated to this issue. This issue is just about adding support for parsing the new GCOV intermediate format.
from grcov.
For GCC 9.1 I'm planning to come up with JSON format of the intermediate format.
Maybe you'll be interested more in the format:
https://gcc.gnu.org/ml/gcc-patches/2018-09/msg01628.html
from grcov.
Sounds great to me! Much less chance of breakages.
Looks like we were the only ones using the GCC intermediate format
from grcov.
Will one JSON per source file be generated, or one JSON per compilation unit? The second is the current behavior of the intermediate format, and would be better for us.
from grcov.
Sounds great to me! Much less chance of breakages.
Yes, it's more standard format than a custom one.
Looks like we were the only ones using the GCC intermediate format
Looks so, lcov is missing the capability:
linux-test-project/lcov#43
Similarly for gcovr:
gcovr/gcovr#282
from grcov.
Will one JSON per source file be generated, or one JSON per compilation unit? The second is the current behavior of the intermediate format, and would be better for us.
Same as for current -i option: one intermediate file per compilation unit.
I'm also planning to make the JSON files gzipped as they can be quite big.
File example for tramp3d:
https://users.suse.com/~mliska/tmp/tramp.json
from grcov.
We support GCC 9+, we won't support GCC 8.
from grcov.
Related Issues (20)
- Option --output-path doesn't work after v0.8.15 HOT 4
- uncover reports on `#[cfg_attr]`
- grcov sometimes takes very long to execute HOT 25
- Grcov create a sub-folder inside the same previous output folder when the output type is html HOT 1
- Release `0.8.18` is missing from Releases HOT 1
- `--log-level` doesn't work
- `-t html` works with `-o ./target/debug/coverage/`, but `-t lcov` doesn't HOT 2
- Error parsing gcov branch information with negative count HOT 4
- Outputting files in a JUnit format HOT 1
- Windows w64devkit: no version found for gcov HOT 7
- Support output-type argument in addition to output-types
- Line coverage showing incorrect values when `tracing::instrument` attribute is used
- Log file path on parser error?
- cargo test failed in windows
- hits for line number reported as unsigned max int HOT 1
- Html report should show the branch count per line
- Output format to summarize gcno information
- More detail/documentation for "functions" coverage HOT 1
- Adding sub-path to output-path option does not create the directory path HOT 5
- Fix TODO on clippy false positive warning
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grcov.