[rtems-tools commit] Coverage: Add support for TSIM format

Chris Johns chrisj at rtems.org
Wed Feb 13 22:44:37 UTC 2019


Module:    rtems-tools
Branch:    master
Commit:    f6d30db99bcf98065e13a3e5ab41c0760573d956
Changeset: http://git.rtems.org/rtems-tools/commit/?id=f6d30db99bcf98065e13a3e5ab41c0760573d956

Author:    Vijay Kumar Banerjee <vijaykumar9597 at gmail.com>
Date:      Fri Feb  1 01:19:42 2019 +0530

Coverage: Add support for TSIM format

---

 tester/rt/coverage.py                       | 35 ++++++++++++++++++-----------
 tester/rtems/testing/bsps/leon3-sis-cov.ini | 12 +++++-----
 tester/rtems/testing/defaults.mc            |  4 ++++
 3 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/tester/rt/coverage.py b/tester/rt/coverage.py
index 9fc9b64..eef88f7 100644
--- a/tester/rt/coverage.py
+++ b/tester/rt/coverage.py
@@ -45,6 +45,7 @@ from rtemstoolkit import path
 from rtemstoolkit import log
 from rtemstoolkit import execute
 from rtemstoolkit import macros
+from rtemstoolkit import version
 
 
 import options
@@ -288,14 +289,20 @@ class covoar(object):
     '''
     Covoar runner
     '''
-    def __init__(self, base_result_dir, config_dir, executables, explanations_txt, trace, prefix):
+    def __init__(self,
+                 base_result_dir,
+                 config_dir,
+                 executables,
+                 trace,
+                 prefix,
+                 covoar_cmd):
         self.base_result_dir = base_result_dir
         self.config_dir = config_dir
         self.executables = ' '.join(executables)
-        self.explanations_txt = explanations_txt
-        self.project_name = 'RTEMS-5'
+        self.project_name = 'RTEMS-' + str(version.version())
         self.trace = trace
         self.prefix = prefix
+        self.covoar_cmd = covoar_cmd
 
     def _find_covoar(self):
         covoar_exe = 'covoar'
@@ -316,10 +323,11 @@ class covoar(object):
         if not path.exists(symbol_file):
             raise error.general('coverage: no symbol set file: %s'% (symbol_file))
         exe = self._find_covoar()
-        command = exe + ' -S ' + symbol_file + \
-                  ' -O ' + covoar_result_dir + \
-                  ' -E ' + self.explanations_txt + \
-                  ' -p ' + self.project_name + ' ' + self.executables
+        command = exe + ' -O ' + covoar_result_dir + \
+                  ' -p ' + self.project_name + \
+                  ' ' + self.executables + ' '
+        command += self.covoar_cmd
+
         log.notice()
         log.notice('Running coverage analysis: %s (%s)' % (set_name, covoar_result_dir))
         start_time = datetime.datetime.now()
@@ -344,7 +352,6 @@ class coverage_run(object):
         self.trace = trace
         self.macros = macros_
         self.build_dir = self.macros['_cwd']
-        self.explanations_txt = self.macros.expand(self.macros['cov_explanations'])
         self.test_dir = path.join(self.build_dir, self.macros['bsp'] + '-coverage')
         if not path.exists(self.test_dir):
             path.mkdir(self.test_dir)
@@ -353,8 +360,7 @@ class coverage_run(object):
         self.coverage_config_path = path.join(self.rtscripts, 'coverage')
         self.symbol_config_path = path.join(self.coverage_config_path,
                                             'symbol-sets.ini')
-        self.symbol_select_path = path.join(self.coverage_config_path,
-                                            self.macros['bsp'] + '-symbols.ini')
+        self.symbol_select_path = self.macros.expand(self.macros['bsp_symbol_path'])
         self.executables = executables
         self.symbol_sets = []
         self.no_clean = int(self.macros['_no_clean'])
@@ -364,6 +370,7 @@ class coverage_run(object):
         self.bsp_name = self.macros['bsp'].split('-')[0]
         self.prefix = prefix
         self.macros.define('coverage')
+        self.covoar_cmd = self.macros.expand(self.macros['bsp_covoar_cmd'])
 
     def run(self):
         try:
@@ -379,10 +386,12 @@ class coverage_run(object):
             symbol_sets = parser.parse()
             for sset in symbol_sets:
                 parser.write_ini(sset)
-                covoar_runner = covoar(self.test_dir, self.symbol_select_path,
-                                       self.executables, self.explanations_txt,
+                covoar_runner = covoar(self.test_dir,
+                                       self.symbol_select_path,
+                                       self.executables,
                                        self.trace,
-                                       self.prefix)
+                                       self.prefix,
+                                       self.covoar_cmd)
                 covoar_runner.run(sset, self.symbol_select_path)
             self._generate_reports(symbol_sets);
             self._summarize();
diff --git a/tester/rtems/testing/bsps/leon3-sis-cov.ini b/tester/rtems/testing/bsps/leon3-sis-cov.ini
index f0a2ab9..626d314 100644
--- a/tester/rtems/testing/bsps/leon3-sis-cov.ini
+++ b/tester/rtems/testing/bsps/leon3-sis-cov.ini
@@ -32,8 +32,10 @@
 # The leon3 BSP on sis with coverage
 #
 [leon3-sis-cov]
-bsp          = leon3
-arch         = sparc
-tester       = %{_rtscripts}/run.cfg
-bsp_run_cmd  = %{rtems_tools}/%{bsp_arch}-rtems%{rtems_version}-sis
-bsp_run_opts = -leon3 -nouartrx -r -tlim 200 s -cov
+bsp            = leon3-sis
+arch           = sparc
+tester         = %{_rtscripts}/run.cfg
+target         = sparc-rtems5
+bsp_run_cmd    = %{rtems_tools}/%{bsp_arch}-rtems%{rtems_version}-sis
+bsp_run_opts   = -leon3 -nouartrx -r -tlim 200 s -cov
+bsp_covoar_cmd = -S %{bsp_symbol_path} -E %{cov_explanations} -f TSIM
diff --git a/tester/rtems/testing/defaults.mc b/tester/rtems/testing/defaults.mc
index 54212e0..d3e16a9 100644
--- a/tester/rtems/testing/defaults.mc
+++ b/tester/rtems/testing/defaults.mc
@@ -122,5 +122,9 @@ _rtbase:             none,    none,     '%{_rtdir}'
 _rttesting:          none,    none,     '%{_rtbase}/rtems/testing'
 _configdir:          none,    none,     '%{_rtbase}/config:%{_rttesting}'
 
+#Coverage macros
+bsp_symbol_path:     none,    none,      '%{_rtscripts}/coverage/%{bsp}-symbols.ini'
+project_name:        none,    none,      'RTEMS-%{rtems_version}'
+
 # Include the testing macros.
 %include %{_rttesting}/testing.mc



More information about the vc mailing list