[dts] [PATCH 1/1] framework: add a new subtitle paramater

Tu, Lijuan lijuan.tu at intel.com
Mon May 13 09:49:40 CEST 2019


Applied, thanks

> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Rami Rosen
> Sent: Friday, May 3, 2019 8:13 PM
> To: dts at dpdk.org
> Cc: Rami Rosen <ramirose at gmail.com>
> Subject: [dts] [PATCH 1/1] framework: add a new subtitle paramater
> 
> Add a new subtitle paramater to main. There are use cases when we want to
> add specific details to the rst report, for example, FW version, name of the
> relevant project, setup details, etc. This patch provides this ability. With this
> patch, you can run, for exampe:
> 
> ./dts -s --config-file=execution.cfg --subtitle=FW_1.8.0
> 
> to add FW_1.8.0 in the rst report.
> 
> Signed-off-by: Rami Rosen <ramirose at gmail.com>
> ---
>  framework/dts.py       | 11 ++++++-----
>  framework/main.py      |  5 ++++-
>  framework/rst.py       |  5 +++++
>  framework/test_case.py |  8 ++++++++
>  4 files changed, 23 insertions(+), 6 deletions(-)
> 
> diff --git a/framework/dts.py b/framework/dts.py index 19a473d..c622e19
> 100644
> --- a/framework/dts.py
> +++ b/framework/dts.py
> @@ -351,7 +351,7 @@ def dts_run_prerequisties(duts, tester, pkgName,
> patch, dts_commands, serializer
>          return False
> 
> 
> -def dts_run_target(duts, tester, targets, test_suites):
> +def dts_run_target(duts, tester, targets, test_suites, subtitle):
>      """
>      Run each target in execution targets.
>      """
> @@ -378,7 +378,7 @@ def dts_run_target(duts, tester, targets, test_suites):
>              result.add_failed_target(result.dut, target, str(ex))
>              continue
> 
> -        dts_run_suite(duts, tester, test_suites, target)
> +        dts_run_suite(duts, tester, test_suites, target, subtitle)
> 
>      tester.restore_interfaces()
> 
> @@ -388,7 +388,7 @@ def dts_run_target(duts, tester, targets, test_suites):
>          dutobj.restore_modules()
> 
> 
> -def dts_run_suite(duts, tester, test_suites, target):
> +def dts_run_suite(duts, tester, test_suites, target, subtitle):
>      """
>      Run each suite in test suite list.
>      """
> @@ -402,6 +402,7 @@ def dts_run_suite(duts, tester, test_suites, target):
>                  suite_obj.init_log()
>                  suite_obj.set_requested_cases(requested_tests)
>                  suite_obj.set_check_inst(check=check_case_inst)
> +                suite_obj.set_subtitle(subtitle)
>                  result.nic = suite_obj.nic
> 
>                  dts_log_testsuite(duts, tester, suite_obj, log_handler,
> test_classname) @@ -439,7 +440,7 @@ def dts_run_suite(duts, tester,
> test_suites, target):
>  def run_all(config_file, pkgName, git, patch, skip_setup,
>              read_cache, project, suite_dir, test_cases,
>              base_dir, output_dir, verbose, virttype, debug,
> -            debugcase, re_run, commands):
> +            debugcase, re_run, commands, subtitle):
>      """
>      Main process of DTS, it will run all test suites in the config file.
>      """
> @@ -560,7 +561,7 @@ def run_all(config_file, pkgName, git, patch,
> skip_setup,
>              dts_crbs_exit(duts, tester)
>              continue
> 
> -        dts_run_target(duts, tester, targets, test_suites)
> +        dts_run_target(duts, tester, targets, test_suites, subtitle)
> 
>          dts_crbs_exit(duts, tester)
> 
> diff --git a/framework/main.py b/framework/main.py index
> 0aa54fd..b91a889 100755
> --- a/framework/main.py
> +++ b/framework/main.py
> @@ -143,6 +143,9 @@ parser.add_argument('--commands',
>                      help='run command on tester or dut. The command format is ' +
>                      '[commands]:dut|tester:pre-init|post-init:check|ignore')
> 
> +parser.add_argument('--subtitle',
> +                    help='add a subtitle to the rst report')
> +
>  args = parser.parse_args()
> 
> 
> @@ -159,4 +162,4 @@ dts.run_all(args.config_file, args.snapshot, args.git,
>              args.patch, args.skip_setup, args.read_cache,
>              args.project, args.suite_dir, args.test_cases,
>              args.dir, args.output, args.verbose,args.virttype,
> -            args.debug, args.debugcase, args.re_run, args.commands)
> +            args.debug, args.debugcase, args.re_run, args.commands,
> + args.subtitle)
> diff --git a/framework/rst.py b/framework/rst.py index ef1825c..2f36ab1
> 100644
> --- a/framework/rst.py
> +++ b/framework/rst.py
> @@ -107,6 +107,11 @@ class RstReport(object):
>              f.write(line)
>              f.write('-' * len(line) + '\n')
> 
> +    def write_subtitle(self):
> +	if self._subtitle is not None:
> +	    with open(self.rstName, "a") as f:
> +		f.write("%s\n" % self._subtitle)
> +
>      def write_annex_title(self, text):
>          """
>          write annex to test case title Annex to #Name# diff --git
> a/framework/test_case.py b/framework/test_case.py index
> 7402631..27d236b 100644
> --- a/framework/test_case.py
> +++ b/framework/test_case.py
> @@ -58,6 +58,7 @@ class TestCase(object):
> 
>          # local variable
>          self._requested_tests = None
> +        self._subtitle 		    = None
> 
>          # check session and reconnect if possible
>          for dutobj in self.duts:
> @@ -219,6 +220,13 @@ class TestCase(object):
>          """
>          self._requested_tests = case_list
> 
> +    def set_subtitle(self, subtitle):
> +        """
> +        Pass down subtitle for Rst report
> +        """
> +	self._rst_obj._subtitle = subtitle
> +	self._rst_obj.write_subtitle()
> +
>      def _get_test_cases(self, test_name_regex):
>          """
>          Return case list which name matched regex.
> --
> 1.8.3.1



More information about the dts mailing list