[V3] tests/dcf_lifecycle: add kernel check in test script

Message ID 20230328165141.32675-1-hongbox.li@intel.com (mailing list archive)
State Accepted
Headers
Series [V3] tests/dcf_lifecycle: add kernel check in test script |

Checks

Context Check Description
ci/Intel-dts-format-test success Testing OK
ci/Intel-dts-pylama-test success Testing OK

Commit Message

Li, HongboX March 28, 2023, 4:51 p.m. UTC
  1.Some testcase require the kernel 4.19+ in the testplan, but test script does not check the kernel. Which will cause the lower version of kernel to fail when run cases.
2.The "--color" option of dmesg command is not supported in the OS with the lower version kernel, and the option only changes the color of the output. So delete this option to make the OS with the lower version kernel support some testcase.

Signed-off-by: Hongbo Li <hongbox.li@intel.com>
---
v2:skip case of test_dcf_with_adq_03
v3:assigning an initial value to the variable self.kernel_version, and optimization warning log.

 tests/TestSuite_dcf_lifecycle.py | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
  

Comments

Tu, Lijuan March 30, 2023, 8:35 a.m. UTC | #1
On Wed, 29 Mar 2023 00:51:41 +0800, Hongbo Li <hongbox.li@intel.com> wrote:
> 1.Some testcase require the kernel 4.19+ in the testplan, but test script does not check the kernel. Which will cause the lower version of kernel to fail when run cases.
> 2.The "--color" option of dmesg command is not supported in the OS with the lower version kernel, and the option only changes the color of the output. So delete this option to make the OS with the lower version kernel support some testcase.
> 
> Signed-off-by: Hongbo Li <hongbox.li@intel.com>


Applied, thanks
  

Patch

diff --git a/tests/TestSuite_dcf_lifecycle.py b/tests/TestSuite_dcf_lifecycle.py
index d3758c6c..fd828ef8 100644
--- a/tests/TestSuite_dcf_lifecycle.py
+++ b/tests/TestSuite_dcf_lifecycle.py
@@ -184,7 +184,7 @@  class TestDcfLifeCycle(TestCase):
         self.d_a_con(cmd)
 
     def get_dmesg(self):
-        cmd = "dmesg --color=never"
+        cmd = "dmesg"
         return self.d_a_con(cmd) or ""
 
     def vf_init(self):
@@ -1078,6 +1078,12 @@  class TestDcfLifeCycle(TestCase):
         self.verify_supported_nic()
         # prepare testing environment
         self.preset_test_environment()
+        self.kernel_version = ""
+        kernel_version = self.dut.send_expect("uname -r", "# ")
+        try:
+            self.kernel_version = re.match("[0-9]+\.\d*", kernel_version).group(0)
+        except Exception as e:
+            self.logger.warning("kernel version cannot be found.")
 
     def tear_down_all(self):
         """
@@ -1182,6 +1188,11 @@  class TestDcfLifeCycle(TestCase):
         """
         When ADQ set on PF, PF should reject the DCF mode
         """
+        if self.kernel_version:
+            self.skip_case(
+                self.kernel_version > "4.19",
+                "Host kernel version is required 4.19+",
+            )
         msg = "begin : When ADQ set on PF, PF should reject the DCF mode"
         self.logger.info(msg)
         self.verify_dcf_with_adq_01()
@@ -1190,6 +1201,11 @@  class TestDcfLifeCycle(TestCase):
         """
         When DCF mode enabled, ADQ setting on PF shall fail
         """
+        if self.kernel_version:
+            self.skip_case(
+                self.kernel_version > "4.19",
+                "Host kernel version is required 4.19+",
+            )
         msg = "begin : When DCF mode enabled, ADQ setting on PF shall fail"
         self.logger.info(msg)
         self.verify_dcf_with_adq_02()
@@ -1198,6 +1214,11 @@  class TestDcfLifeCycle(TestCase):
         """
         DCF and ADQ can be enabled on different PF
         """
+        if self.kernel_version:
+            self.skip_case(
+                self.kernel_version > "4.19",
+                "Host kernel version is required 4.19+",
+            )
         self.verify(len(self.dut_ports) >= 2, "2 ports at least")
         msg = "begin : DCF and ADQ can be enabled on different PF"
         self.logger.info(msg)