[dts] [PATCH V1 3/3] update case result write function
Xu, HuilongX
huilongx.xu at intel.com
Wed Jun 28 07:41:56 CEST 2017
> -----Original Message-----
> From: Liu, Yong
> Sent: Saturday, June 24, 2017 1:06 AM
> To: Xu, HuilongX; dts at dpdk.org
> Cc: Xu, HuilongX
> Subject: RE: [dts] [PATCH V1 3/3] update case result write function
>
> Huilong, some comments below.
>
> > -----Original Message-----
> > From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of xu,huilong
> > Sent: Thursday, June 22, 2017 10:57 PM
> > To: dts at dpdk.org
> > Cc: Xu, HuilongX <huilongx.xu at intel.com>
> > Subject: [dts] [PATCH V1 3/3] update case result write function
> >
> > update case result write function, all same case only have one test
> > result if one time case test result passed, this result will passed
> > and save in excel file.
> > if all times case test result failed, this resulr will failed and save
> > in excel file.
> >
> > Signed-off-by: xu,huilong <huilongx.xu at intel.com>
> > ---
> > framework/excel_reporter.py | 25 ++++++++++++++++++++-----
> > 1 file changed, 20 insertions(+), 5 deletions(-)
> >
> > diff --git a/framework/excel_reporter.py b/framework/excel_reporter.py
> > index 2030d87..aef50c6 100644
> > --- a/framework/excel_reporter.py
> > +++ b/framework/excel_reporter.py
> > @@ -142,9 +142,23 @@ class ExcelReporter(object):
> >
> > self.title_style = xlwt.XFStyle()
> > self.title_style.font = title_font
> > -
> > - def __write_result(self, dut, target, suite, case):
> > - test_result = self.result.result_for(dut, target, suite, case)
> > +
> > + def __get_suite_result(self, dut, target, suite, case):
>
>
> Look like function has been change to get result of certain case. Suggest to
> change name of this function to __get_case_result.
Shure, I will update it in next version
>
> > + case_list = self.result.all_test_cases(dut, target, suite)
> > + if case_list.count(case) > 1:
> > + tmp_result = []
> > + for case_name in case_list:
> > + if case == case_name:
> > + test_result = self.result.result_for(dut, target,
> > suite, case)
> > + if 'PASSED' in test_result:
> > + return ['PASSED', '']
>
> Why return result list with two items here and only return one is other
> condition?
Yes, because when write test result to excel file, the result must is a list. And result[0] is result, and result[1] is error info.
>
> > + else:
> > + tmp_result.append(test_result)
> > + return tmp_result[-1]
> > + else:
> > + return self.result.result_for(dut, target, suite, case)
> > +
> > + def __write_result(self, dut, target, suite, case, test_result):
> > if test_result is not None and len(test_result) > 0:
> > result = test_result[0]
> > if test_result[1] != '':
> > @@ -156,13 +170,14 @@ class ExcelReporter(object):
> > self.row, self.col + 1, result,
> > self.failed_style)
> >
> > def __write_cases(self, dut, target, suite):
> > - for case in self.result.all_test_cases(dut, target, suite):
> > + for case in set(self.result.all_test_cases(dut, target, suite)):
> > + result = self.__get_suite_result(dut, target, suite,
> > + case)
> > self.col += 1
> > if case[:5] == "test_":
> > self.sheet.write(self.row, self.col, case[5:])
> > else:
> > self.sheet.write(self.row, self.col, case)
> > - self.__write_result(dut, target, suite, case)
> > + self.__write_result(dut, target, suite, case, result)
> > self.row += 1
> > self.col -= 1
> >
> > --
> > 1.9.3
More information about the dts
mailing list