- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Two questions on the use of code coverage for icc/icpc 10:
Rhys
- How can I exclude an entire namespace of functions from appearing in the coverage report? E.g. I use the Eigen C++ header-only as well as the STL but want none of std:: or Eigen:: appearing in my report. 'profmerge -exclude_funcs std::.,Eigen::.' does not seem to work.
- How can I merge multiple .spi files and run codecov against them? E.g. I have a source directory containing .hpp header-only code as well as .c/.h source files. So I get two pgopti.spi files. The first is in src/ and the second is in test/. src/pgopti.spi contains information about the .c code while test/pgopti.c contains information about my .hpp header-only files as they are compiled into my tests.
Rhys
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1) While there isn't a specific way to disable a namespace, you may be able to do what you want by relying on the full path of the source files of interest. There is a mechanism to exclude functions based on substrings in their path. You can find full details here (around pages 7-8):
http://www.intel.com/SOFTWARE/PRODUCTS/COMPILERS/TECHTOPICS/PGT.HTM
but the short answer is to create a file (foo.txt) that contains a line that contains the path to the root of your project, say
/home/dale/myproject
then run codecov like so:
[cpp]codecov -comp foo.txt [/cpp]Now it should only include functions that are in source file under /home/dale/myproject. I believe the functions in std:: should have system header files as their source files, so I think this would work. Of course if you're on windows, the "/"s should be ""s.
2) There isn't an easy way to merge .spi files, but you should be able to set things up in your build so that everything updates the same .spi file by specifying the "prof-dir". You can do this with the option "-prof-dir
Does that answer your questions?
Thanks!
Dale
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1) While there isn't a specific way to disable a namespace, you may be able to do what you want by relying on the full path of the source files of interest. There is a mechanism to exclude functions based on substrings in their path. You can find full details here (around pages 7-8):
http://www.intel.com/SOFTWARE/PRODUCTS/COMPILERS/TECHTOPICS/PGT.HTM
but the short answer is to create a file (foo.txt) that contains a line that contains the path to the root of your project, say
/home/dale/myproject
then run codecov like so:
[cpp]codecov -comp foo.txt [/cpp]Now it should only include functions that are in source file under /home/dale/myproject. I believe the functions in std:: should have system header files as their source files, so I think this would work. Of course if you're on windows, the "/"s should be ""s.
2) There isn't an easy way to merge .spi files, but you should be able to set things up in your build so that everything updates the same .spi file by specifying the "prof-dir". You can do this with the option "-prof-dir
Does that answer your questions?
Thanks!
Dale
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page