* [dts] [PATCH V1 0/7] framework: record DPDK version in result
@ 2020-11-27 2:50 Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 1/7] framework/dut: record DPDK version in host DUT Haiyang Zhao
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
record DPDK version in json/excel/statistic result.
Haiyang Zhao (7):
framework/dut: record DPDK version in host DUT get dpdk version from
VERSION and save it in host dut.
framework/virt_dut: record DPDK version in guest DUT get and save
guest DUT dpdk version.
framework/dts: save dpdk version in global result save dpdk version in
global result after executing prerequisities.
framework/excel_reporter: add dpdk version in excel result add dpdk
version in excel result and modify the other element index.
framework/json_reporter: add dpdk version in json result add dpdk
version in json result.
framework/test_result: add dpdk_version in Result
framework/stats_reporter: add dpdk version in stats_reporter add dpdk
version in stats_reporter.
framework/dts.py | 2 +-
framework/dut.py | 9 ++++++-
framework/excel_reporter.py | 54 ++++++++++++++++++++-----------------
framework/json_reporter.py | 1 +
framework/stats_reporter.py | 7 +++++
framework/test_result.py | 20 +++++++++++++-
framework/virt_dut.py | 6 ++++-
7 files changed, 70 insertions(+), 29 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 1/7] framework/dut: record DPDK version in host DUT
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 2/7] framework/virt_dut: record DPDK version in guest DUT Haiyang Zhao
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
get dpdk version from VERSION and save it in host dut.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/dut.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/framework/dut.py b/framework/dut.py
index 2863848..f3ef8c6 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -80,6 +80,7 @@ class Dut(Crb):
self.hugepage_path = None
self.apps_name_conf = {}
self.apps_name = {}
+ self.dpdk_version = ''
def filter_cores_from_crb_cfg(self):
# get core list from crbs.cfg
@@ -368,7 +369,13 @@ class Dut(Crb):
Then call pci scan function to collect nic device information.
At last setup DUT' environment for validation.
"""
- self.send_expect("cd %s" % self.base_dir, "# ")
+ out = self.send_expect("cd %s" % self.base_dir, "# ")
+ assert 'No such file or directory' not in out, "Can't switch to dpdk folder!!!"
+ out = self.send_expect("cat VERSION", "# ")
+ if 'No such file or directory' in out:
+ self.logger.error("Can't get DPDK version due to VERSION not exist!!!")
+ else:
+ self.dpdk_version = out
self.send_expect("alias ls='ls --color=none'", "#")
if self.get_os_type() == 'freebsd':
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 2/7] framework/virt_dut: record DPDK version in guest DUT
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 1/7] framework/dut: record DPDK version in host DUT Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 3/7] framework/dts: save dpdk version in global result Haiyang Zhao
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
get and save guest DUT dpdk version.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/virt_dut.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/framework/virt_dut.py b/framework/virt_dut.py
index 03569ba..9b0126b 100644
--- a/framework/virt_dut.py
+++ b/framework/virt_dut.py
@@ -172,8 +172,12 @@ class VirtDut(DPDKdut):
self.prepare_package()
out = self.send_expect("cd %s" % self.base_dir, "# ")
+ assert 'No such file or directory' not in out, "Can't switch to dpdk folder!!!"
+ out = self.send_expect("cat VERSION", "# ")
if 'No such file or directory' in out:
- self.logger.error("Can't switch to dpdk folder!!!")
+ self.logger.error("Can't get DPDK version due to VERSION not exist!!!")
+ else:
+ self.dpdk_version = out
self.send_expect("alias ls='ls --color=none'", "#")
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 3/7] framework/dts: save dpdk version in global result
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 1/7] framework/dut: record DPDK version in host DUT Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 2/7] framework/virt_dut: record DPDK version in guest DUT Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 4/7] framework/excel_reporter: add dpdk version in excel result Haiyang Zhao
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
save dpdk version in global result after executing prerequisities.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/dts.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/framework/dts.py b/framework/dts.py
index 8c61385..d4a8c6e 100644
--- a/framework/dts.py
+++ b/framework/dts.py
@@ -624,7 +624,7 @@ def run_all(config_file, pkgName, git, patch, skip_setup,
if dts_run_prerequisties(duts, tester, pkgName, patch, dts_commands, serializer) is False:
dts_crbs_exit(duts, tester)
continue
-
+ result.dpdk_version = duts[0].dpdk_version
dts_run_target(duts, tester, targets, test_suites, subtitle)
dts_crbs_exit(duts, tester)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 4/7] framework/excel_reporter: add dpdk version in excel result
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
` (2 preceding siblings ...)
2020-11-27 2:50 ` [dts] [PATCH V1 3/7] framework/dts: save dpdk version in global result Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 5/7] framework/json_reporter: add dpdk version in json Haiyang Zhao
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
add dpdk version in excel result and modify the other element index.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/excel_reporter.py | 54 ++++++++++++++++++++-----------------
1 file changed, 29 insertions(+), 25 deletions(-)
diff --git a/framework/excel_reporter.py b/framework/excel_reporter.py
index 65d26b6..89b9a17 100644
--- a/framework/excel_reporter.py
+++ b/framework/excel_reporter.py
@@ -76,38 +76,40 @@ class ExcelReporter(object):
def __add_header(self):
self.sheet.write(0, 0, 'DUT', self.header_style)
- self.sheet.write(0, 1, 'Target', self.header_style)
- self.sheet.write(0, 2, 'NIC', self.header_style)
- self.sheet.write(0, 3, 'Test suite', self.header_style)
- self.sheet.write(0, 4, 'Test case', self.header_style)
- self.sheet.write(0, 5, 'Results', self.header_style)
-
- self.sheet.write(0, 7, 'Pass', self.header_style)
- self.sheet.write(0, 8, 'Fail', self.header_style)
- self.sheet.write(0, 9, 'Blocked', self.header_style)
- self.sheet.write(0, 10, 'N/A', self.header_style)
- self.sheet.write(0, 11, 'Not Run', self.header_style)
- self.sheet.write(0, 12, 'Total', self.header_style)
-
- self.sheet.write(1, 7, Formula('COUNTIF(F2:F2000,"PASSED")'))
- self.sheet.write(1, 8, Formula('COUNTIF(F2:F2000,"FAILED*") + COUNTIF(F2:F2000,"IXA*")'))
- self.sheet.write(1, 9, Formula('COUNTIF(F2:F2000,"BLOCKED*")'))
- self.sheet.write(1, 10, Formula('COUNTIF(F2:F2000,"N/A*")'))
- self.sheet.write(1, 12, Formula('H2+I2+J2+K2+L2'))
+ self.sheet.write(0, 1, 'DPDK version', self.header_style)
+ self.sheet.write(0, 2, 'Target', self.header_style)
+ self.sheet.write(0, 3, 'NIC', self.header_style)
+ self.sheet.write(0, 4, 'Test suite', self.header_style)
+ self.sheet.write(0, 5, 'Test case', self.header_style)
+ self.sheet.write(0, 6, 'Results', self.header_style)
+
+ self.sheet.write(0, 8, 'Pass', self.header_style)
+ self.sheet.write(0, 9, 'Fail', self.header_style)
+ self.sheet.write(0, 10, 'Blocked', self.header_style)
+ self.sheet.write(0, 11, 'N/A', self.header_style)
+ self.sheet.write(0, 12, 'Not Run', self.header_style)
+ self.sheet.write(0, 13, 'Total', self.header_style)
+
+ self.sheet.write(1, 8, Formula('COUNTIF(G2:G2000,"PASSED")'))
+ self.sheet.write(1, 9, Formula('COUNTIF(G2:G2000,"FAILED*") + COUNTIF(G2:G2000,"IXA*")'))
+ self.sheet.write(1, 10, Formula('COUNTIF(G2:G2000,"BLOCKED*")'))
+ self.sheet.write(1, 11, Formula('COUNTIF(G2:G2000,"N/A*")'))
+ self.sheet.write(1, 13, Formula('I2+J2+K2+L2+M2'))
self.sheet.col(0).width = 4000
- self.sheet.col(1).width = 7500
- self.sheet.col(2).width = 3000
- self.sheet.col(3).width = 5000
- self.sheet.col(4).width = 8000
- self.sheet.col(5).width = 3000
- self.sheet.col(6).width = 1000
- self.sheet.col(7).width = 3000
+ self.sheet.col(1).width = 4500
+ self.sheet.col(2).width = 7500
+ self.sheet.col(3).width = 3000
+ self.sheet.col(4).width = 5000
+ self.sheet.col(5).width = 8000
+ self.sheet.col(6).width = 3000
+ self.sheet.col(7).width = 1000
self.sheet.col(8).width = 3000
self.sheet.col(9).width = 3000
self.sheet.col(10).width = 3000
self.sheet.col(11).width = 3000
self.sheet.col(12).width = 3000
+ self.sheet.col(13).width = 3000
def __styles(self):
header_pattern = xlwt.Pattern()
@@ -223,6 +225,8 @@ class ExcelReporter(object):
if self.result.is_dut_failed(dut):
self.__write_failed_dut(dut)
else:
+ self.col = self.col + 1
+ self.sheet.write(self.row, self.col, self.result.current_dpdk_version(dut), self.title_style)
self.__write_targets(dut)
self.row += 1
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 5/7] framework/json_reporter: add dpdk version in json
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
` (3 preceding siblings ...)
2020-11-27 2:50 ` [dts] [PATCH V1 4/7] framework/excel_reporter: add dpdk version in excel result Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 6/7] framework/test_result: add dpdk_version in Result Haiyang Zhao
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
result add dpdk version in json result.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/json_reporter.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/framework/json_reporter.py b/framework/json_reporter.py
index 1b15bbe..88099cb 100644
--- a/framework/json_reporter.py
+++ b/framework/json_reporter.py
@@ -64,6 +64,7 @@ class JSONReporter(object):
if result.is_dut_failed(dut):
return 'fail'
target_map = {}
+ target_map['dpdk_version'] = result.current_dpdk_version(dut)
for target in result.all_targets(dut):
target_map[target] = self.__scan_target(result, dut, target)
return target_map
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 6/7] framework/test_result: add dpdk_version in Result
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
` (4 preceding siblings ...)
2020-11-27 2:50 ` [dts] [PATCH V1 5/7] framework/json_reporter: add dpdk version in json Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 7/7] framework/stats_reporter: add dpdk version in stats_reporter Haiyang Zhao
2020-12-01 1:33 ` [dts] [PATCH V1 0/7] framework: record DPDK version in result Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
add dpdk_version and get method in class Result, and modify
all_targets as target element index changed.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/test_result.py | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/framework/test_result.py b/framework/test_result.py
index e5a2b4e..3560745 100644
--- a/framework/test_result.py
+++ b/framework/test_result.py
@@ -86,6 +86,23 @@ class Result(object):
def __get_dut(self):
return self.__internals[self.__dut]
+ def current_dpdk_version(self, dut):
+ """
+ Returns the dpdk version for a given DUT
+ """
+ try:
+ dut_idx = self.__internals.index(dut)
+ return self.__internals[dut_idx + 1][0]
+ except:
+ return ''
+
+ def __set_dpdk_version(self, dpdk_version):
+ if not self.internals[self.__dut + 1]:
+ self.internals[self.__dut + 1].append(dpdk_version)
+
+ def __get_dpdk_version(self):
+ return self.internals[self.__dut + 1][0]
+
def __current_targets(self):
return self.internals[self.__dut + 1]
@@ -193,7 +210,7 @@ class Result(object):
dut_idx = self.__internals.index(dut)
except:
return None
- return self.__internals[dut_idx + 1][::3]
+ return self.__internals[dut_idx + 1][1::3]
def current_nic(self, dut, target):
"""
@@ -287,6 +304,7 @@ class Result(object):
presented interface.
"""
dut = property(__get_dut, __set_dut)
+ dpdk_version = property(__get_dpdk_version, __set_dpdk_version)
target = property(__get_target, __set_target)
test_suite = property(__get_test_suite, __set_test_suite)
test_case = property(__get_test_case, __set_test_case)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 7/7] framework/stats_reporter: add dpdk version in stats_reporter
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
` (5 preceding siblings ...)
2020-11-27 2:50 ` [dts] [PATCH V1 6/7] framework/test_result: add dpdk_version in Result Haiyang Zhao
@ 2020-11-27 2:50 ` Haiyang Zhao
2020-12-01 1:33 ` [dts] [PATCH V1 0/7] framework: record DPDK version in result Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-11-27 2:50 UTC (permalink / raw)
To: Lijuan.Tu, dts; +Cc: Haiyang Zhao
add dpdk version in stats_reporter.
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
framework/stats_reporter.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/framework/stats_reporter.py b/framework/stats_reporter.py
index 3793ca5..8cde5cd 100644
--- a/framework/stats_reporter.py
+++ b/framework/stats_reporter.py
@@ -65,6 +65,13 @@ class StatsReporter(object):
self.__add_stat(test_result)
def __write_stats(self):
+ duts = self.result.all_duts()
+ if len(duts) == 1:
+ self.stats_file.write("dpdk_version = {}\n".format(self.result.current_dpdk_version(duts[0])))
+ else:
+ for dut in duts():
+ dpdk_version = self.result.current_dpdk_version(dut)
+ self.stats_file.write("{}.dpdk_version = {}\n".format(dut, dpdk_version))
self.__count_stats()
self.stats_file.write("Passed = %d\n" % self.passed)
self.stats_file.write("Failed = %d\n" % self.failed)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 0/7] framework: record DPDK version in result
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
` (6 preceding siblings ...)
2020-11-27 2:50 ` [dts] [PATCH V1 7/7] framework/stats_reporter: add dpdk version in stats_reporter Haiyang Zhao
@ 2020-12-01 1:33 ` Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: Tu, Lijuan @ 2020-12-01 1:33 UTC (permalink / raw)
To: Zhao, HaiyangX, dts; +Cc: Zhao, HaiyangX
> record DPDK version in json/excel/statistic result.
>
> Haiyang Zhao (7):
> framework/dut: record DPDK version in host DUT get dpdk version from
> VERSION and save it in host dut.
> framework/virt_dut: record DPDK version in guest DUT get and save
> guest DUT dpdk version.
> framework/dts: save dpdk version in global result save dpdk version in
> global result after executing prerequisities.
> framework/excel_reporter: add dpdk version in excel result add dpdk
> version in excel result and modify the other element index.
> framework/json_reporter: add dpdk version in json result add dpdk
> version in json result.
> framework/test_result: add dpdk_version in Result
> framework/stats_reporter: add dpdk version in stats_reporter add dpdk
> version in stats_reporter.
Applied
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-12-01 1:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-27 2:50 [dts] [PATCH V1 0/7] framework: record DPDK version in result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 1/7] framework/dut: record DPDK version in host DUT Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 2/7] framework/virt_dut: record DPDK version in guest DUT Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 3/7] framework/dts: save dpdk version in global result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 4/7] framework/excel_reporter: add dpdk version in excel result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 5/7] framework/json_reporter: add dpdk version in json Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 6/7] framework/test_result: add dpdk_version in Result Haiyang Zhao
2020-11-27 2:50 ` [dts] [PATCH V1 7/7] framework/stats_reporter: add dpdk version in stats_reporter Haiyang Zhao
2020-12-01 1:33 ` [dts] [PATCH V1 0/7] framework: record DPDK version in result Tu, Lijuan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).