[PATCH] Coverage : Use '.o' files for coverage analysis
Joel Sherrill
joel at rtems.org
Thu Oct 25 19:26:00 UTC 2018
Vijay,
Did covoar just work after adjusting the files to be .o's? Or are there
more changes?
If not, I just need the current patch with a good log message.
--joel
On Thu, Oct 25, 2018 at 2:06 PM Vijay Kumar Banerjee <
vijaykumar9597 at gmail.com> wrote:
> Hi Chris!
>
> Do you find the patch alright? I was wondering if you were expecting some
> changes or modifications. I can do it and submit within this week. :)
>
>
> On Tue, 16 Oct 2018 at 09:06, Vijay Kumar Banerjee <
> vijaykumar9597 at gmail.com> wrote:
>
>> mistakenly resent this. Sorry about it.
>> I have made a separate patch for covoar,
>> I intended to send that one. :)
>>
>> On Tue, Oct 16, 2018, 9:03 AM Vijay Kumar Banerjee <
>> vijaykumar9597 at gmail.com> wrote:
>>
>>> Use the Object files in cpukit/ instead of the static library
>>> for Coverage analysis
>>> ---
>>> tester/rt/coverage.py | 27 ++++--
>>> tester/rtems/testing/coverage/symbol-sets.ini | 90 +++++++++----------
>>> 2 files changed, 66 insertions(+), 51 deletions(-)
>>>
>>> diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py
>>> index c979332..55cb59a 100644
>>> --- a/tester/rt/coverage.py
>>> +++ b/tester/rt/coverage.py
>>> @@ -244,13 +244,17 @@ class symbol_parser(object):
>>> symbol_config_path,
>>> symbol_select_path,
>>> symbol_set,
>>> - build_dir):
>>> + build_dir,
>>> + bsp_name,
>>> + target):
>>> self.symbol_select_file = symbol_select_path
>>> self.symbol_file = symbol_config_path
>>> self.build_dir = build_dir
>>> self.symbol_sets = {}
>>> self.symbol_set = symbol_set
>>> self.ssets = []
>>> + self.bsp_name = bsp_name
>>> + self.target = target
>>>
>>> def parse(self):
>>> config = configparser.ConfigParser()
>>> @@ -264,9 +268,13 @@ class symbol_parser(object):
>>> for sset in self.ssets:
>>> lib = path.join(self.build_dir, config.get('libraries',
>>> sset))
>>> self.symbol_sets[sset] = lib.encode('utf-8')
>>> + ss = self.symbol_sets[sset]
>>> + ss = ss.replace('@BSP@', self.bsp_name)
>>> + ss = ss.replace('@BUILD-TARGET@', self.target)
>>> + self.symbol_sets[sset] = ss
>>> return self.ssets
>>> except:
>>> - raise error.general('Symbol set parsing failed')
>>> + raise error.general('Symbol set parsing failed for %s' %
>>> sset)
>>>
>>> def write_ini(self, symbol_set):
>>> config = configparser.ConfigParser()
>>> @@ -275,11 +283,15 @@ class symbol_parser(object):
>>> config.add_section('symbol-sets')
>>> config.set('symbol-sets', 'sets', sset)
>>> config.add_section(sset)
>>> - config.set(sset, 'libraries', self.symbol_sets[sset])
>>> + object_files = [o for o in
>>> os.listdir(self.symbol_sets[sset]) if o[-1] == 'o']
>>> + object_paths = []
>>> + for o in object_files:
>>> + object_paths.append(path.join(self.symbol_sets[sset],
>>> o))
>>> + config.set(sset, 'libraries', ','.join(object_paths))
>>> with open(self.symbol_select_file, 'w') as conf:
>>> - config.write(conf)
>>> + config.write(conf)
>>> except:
>>> - raise error.general('symbol parser write failed')
>>> + raise error.general('symbol parser write failed for %s' %
>>> sset)
>>>
>>> class covoar(object):
>>> '''
>>> @@ -357,6 +369,7 @@ class coverage_run(object):
>>> self.report_format = self.macros['cov_report_format']
>>> self.symbol_set = symbol_set
>>> self.target = self.macros['target']
>>> + self.bsp_name = self.macros['bsp'].split('-')[0]
>>>
>>> def run(self):
>>> try:
>>> @@ -366,7 +379,9 @@ class coverage_run(object):
>>> parser = symbol_parser(self.symbol_config_path,
>>> self.symbol_select_path,
>>> self.symbol_set,
>>> - build_dir)
>>> + build_dir,
>>> + self.bsp_name,
>>> + self.target)
>>> symbol_sets = parser.parse()
>>> for sset in symbol_sets:
>>> parser.write_ini(sset)
>>> diff --git a/tester/rtems/testing/coverage/symbol-sets.ini
>>> b/tester/rtems/testing/coverage/symbol-sets.ini
>>> index 2685ef4..8f85533 100644
>>> --- a/tester/rtems/testing/coverage/symbol-sets.ini
>>> +++ b/tester/rtems/testing/coverage/symbol-sets.ini
>>> @@ -29,50 +29,50 @@
>>> #
>>>
>>> [symbol-sets]
>>> -sets =
>>> score,rtems,sapi,libdl,posix,libirfs,libdosfs,libdevfs,libimfs,libcsupport,libbspcmdline,libcpuuse,libstackchk,libfsmount,libstringto,libdevnull,libdumpbuf,libblock
>>> +sets =
>>> score,rtems,sapi,libdl,posix,librfs,libdosfs,libdevfs,libimfs,libbspcmdline,libcpuuse,libstackchk,libfsmount,libstringto,libdevnull,libdumpbuf,libblock
>>>
>>> [libraries]
>>> -score = @BUILD-TARGET@/c/@BSP@/cpukit/score/libscore.a
>>> -rtems = @BUILD-TARGET@/c/@BSP@/cpukit/rtems/librtems.a
>>> -sapi = @BUILD-TARGET@/c/@BSP@/cpukit/sapi/libsapi.a
>>> -libdl = @BUILD-TARGET@/c/@BSP@/cpukit/libdl/libdl.a
>>> -posix = @BUILD-TARGET@/c/@BSP@/cpukit/posix/libposix.a
>>> -libirfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/librfs.a
>>> -libdosfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/libdosfs.a
>>> -libdevfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/libdevfs.a
>>> -libimfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/libimfs.a
>>> -#libdefaultsfs = @BUiLD-TARGET@/c/@BSP@/cpukit/libfs/libdefaultfs.a
>>> -#libjffs2 = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/libjffs2.a
>>> -#dtc = @BUILD-TARGET@/c/@BSP@/cpukit/libfdt/libfdt.a
>>> -#libdrvmgr = @BUILD-TARGET@/c/@BSP@/cpukit/libdrvmgr/libdrvmgr.a
>>> -#libi2c = @BUILD-TARGET@/c/@BSP@/cpukit/libi2c/libi2c.a
>>> -libcsupport = @BUILD-TARGET@/c/@BSP@/cpukit/libcsupport/libcsupport.a
>>> -libbspcmdline = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libbspcmdline.a
>>> -libcpuuse = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libcpuuse.a
>>> -libstackchk = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libstackchk.a
>>> -libfsmount = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libfsmount.a
>>> -libstringto = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libstringto.a
>>> -libdevnull = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libdevnull.a
>>> -libdumpbuf = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libdumpbuf.a
>>> -#libcapture = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libcapture.a
>>> -#libdummy = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libdummy.a
>>> -#libmonitor = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libmonitor.a
>>> -#libmouse = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libmouse.a
>>> -#libmw-fb = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libmw-fb.a
>>> -#libredirector = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libredirector.a
>>> -#librtemsfdt = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/librtemsfdt.a
>>> -#libserdbg = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libserdbg.a
>>> -#libshell = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libshell.a
>>> -#libtestsupport= @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libtestsupport.a
>>> -#libuntar = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libuntar.a
>>> -#libutf8proc = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libutf8proc.a
>>> -#libuuid = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libuuid.a
>>> -#libxz = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/libxz.a
>>> -libblock = @BUILD-TARGET@/c/@BSP@/cpukit/libblock/libblock.a
>>> -#libpci = @BUILD-TARGET@/c/@BSP@/cpukit/libpci/libpci.a
>>> -#librpc = @BUILD-TARGET@/c/@BSP@/cpukit/librpc/librpc.a
>>> -#libxdr = @BUILD-TARGET@/c/@BSP@/cpukit/librpc/libxdr.a
>>> -#libcrypt = @BUILD-TARGET@/c/@BSP@/cpukit/libcrypt/libcrypt.a
>>> -#libmd = @BUILD-TARGET@/c/@BSP@/cpukit/libmd/libmd.a
>>> -#libstdthreads = @BUILD-TARGET@/c/@BSP@
>>> /cpukit/libstdthreads/libstdthreads.a
>>> -#zlib = @BUILD-TARGET@/c/@BSP@/cpukit/zlib/libz.a
>>> +score = @BUILD-TARGET@/c/@BSP@/cpukit/score/src
>>> +rtems = @BUILD-TARGET@/c/@BSP@/cpukit/rtems/src
>>> +sapi = @BUILD-TARGET@/c/@BSP@/cpukit/sapi/src
>>> +libdl = @BUILD-TARGET@/c/@BSP@/cpukit/libdl
>>> +posix = @BUILD-TARGET@/c/@BSP@/cpukit/posix/src
>>> +librfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/src/rfs
>>> +libdosfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/src/dosfs
>>> +libdevfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/src/devfs
>>> +libimfs = @BUILD-TARGET@/c/@BSP@/cpukit/libfs/src/imfs
>>> +#libdefaultsfs = @BUiLD-TARGET@/c/@BSP@/cpukit/libfs
>>> +#libjffs2 = @BUILD-TARGET@/c/@BSP@/cpukit/libfs
>>> +#dtc = @BUILD-TARGET@/c/@BSP@/cpukit/libfdt
>>> +#libdrvmgr = @BUILD-TARGET@/c/@BSP@/cpukit/libdrvmgr
>>> +#libi2c = @BUILD-TARGET@/c/@BSP@/cpukit/libi2c
>>> +#libcsupport = @BUILD-TARGET@/c/@BSP@/cpukit/libcsupport/src
>>> +libbspcmdline = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/bspcmdline
>>> +libcpuuse = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/cpuuse
>>> +libstackchk = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/stackchk
>>> +libfsmount = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/fsmount
>>> +libstringto = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/stringto
>>> +libdevnull = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/devnull
>>> +libdumpbuf = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc/dumpbuf
>>> +#libcapture = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libdummy = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libmonitor = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libmouse = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libmw-fb = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libredirector = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#librtemsfdt = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libserdbg = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libshell = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libtestsupport= @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libuntar = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libutf8proc = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libuuid = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +#libxz = @BUILD-TARGET@/c/@BSP@/cpukit/libmisc
>>> +libblock = @BUILD-TARGET@/c/@BSP@/cpukit/libblock/src
>>> +#libpci = @BUILD-TARGET@/c/@BSP@/cpukit/libpci
>>> +#librpc = @BUILD-TARGET@/c/@BSP@/cpukit/librpc
>>> +#libxdr = @BUILD-TARGET@/c/@BSP@/cpukit/librpc
>>> +#libcrypt = @BUILD-TARGET@/c/@BSP@/cpukit/libcrypt
>>> +#libmd = @BUILD-TARGET@/c/@BSP@/cpukit/libmd
>>> +#libstdthreads = @BUILD-TARGET@/c/@BSP@/cpukit/libstdthreads
>>> +#zlib = @BUILD-TARGET@/c/@BSP@/cpukit/zlib
>>> --
>>> 2.17.0
>>>
>>> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20181025/52eb659c/attachment-0002.html>
More information about the devel
mailing list