test suite reviews and discussions
 help / color / mirror / Atom feed
* [PATCH v3 1/3] framework: Move test-specific files to test directory
@ 2022-04-13 14:54 ohilyard
  2022-04-13 14:54 ` [PATCH v3 2/3] update files depending on tests/util ohilyard
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: ohilyard @ 2022-04-13 14:54 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, juraj.linkes, Owen Hilyard

From: Owen Hilyard <ohilyard@iol.unh.edu>

The DTS Improvement Working Group decided to move files specific to a
single test or a small group of tests into tests/util. This is done in order
to aid in the organization of DTS.

Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
---
 framework/flow/__init__.py                           |  0
 framework/virt_resource.py                           |  2 +-
 tests/data/__init__.py                               |  2 ++
 tests/util/__init__.py                               |  2 ++
 tests/util/flow/__init__.py                          |  2 ++
 {framework => tests/util}/flow/enums.py              |  0
 {framework => tests/util}/flow/exceptions.py         |  0
 {framework => tests/util}/flow/flow.py               |  0
 {framework => tests/util}/flow/flow_action_items.py  |  0
 {framework => tests/util}/flow/flow_items.py         |  8 +++-----
 {framework => tests/util}/flow/flow_pattern_items.py |  0
 {framework => tests/util}/flow/flow_rule.py          |  2 +-
 {framework => tests/util}/flow/generator.py          |  0
 tests/util/virt/__init__.py                          |  2 ++
 {framework => tests/util/virt}/virt_base.py          |  8 ++++----
 {framework => tests/util/virt}/virt_common.py        |  8 ++++----
 {framework => tests/util/virt}/virt_dut.py           | 10 +++++-----
 {framework => tests/util/virt}/virt_scene.py         | 12 ++++++------
 18 files changed, 32 insertions(+), 26 deletions(-)
 delete mode 100644 framework/flow/__init__.py
 create mode 100644 tests/data/__init__.py
 create mode 100644 tests/util/__init__.py
 create mode 100644 tests/util/flow/__init__.py
 rename {framework => tests/util}/flow/enums.py (100%)
 rename {framework => tests/util}/flow/exceptions.py (100%)
 rename {framework => tests/util}/flow/flow.py (100%)
 rename {framework => tests/util}/flow/flow_action_items.py (100%)
 rename {framework => tests/util}/flow/flow_items.py (94%)
 rename {framework => tests/util}/flow/flow_pattern_items.py (100%)
 rename {framework => tests/util}/flow/flow_rule.py (97%)
 rename {framework => tests/util}/flow/generator.py (100%)
 create mode 100644 tests/util/virt/__init__.py
 rename {framework => tests/util/virt}/virt_base.py (99%)
 rename {framework => tests/util/virt}/virt_common.py (92%)
 rename {framework => tests/util/virt}/virt_dut.py (98%)
 rename {framework => tests/util/virt}/virt_scene.py (98%)

diff --git a/framework/flow/__init__.py b/framework/flow/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/framework/virt_resource.py b/framework/virt_resource.py
index 36b6fe9c..0e012511 100644
--- a/framework/virt_resource.py
+++ b/framework/virt_resource.py
@@ -30,7 +30,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 from random import randint
 
-from .utils import RED, get_obj_funcs, parallel_lock
+from framework.utils import RED, get_obj_funcs, parallel_lock
 
 INIT_FREE_PORT = 6000
 INIT_SERIAL_PORT = 7000
diff --git a/tests/data/__init__.py b/tests/data/__init__.py
new file mode 100644
index 00000000..4ad62931
--- /dev/null
+++ b/tests/data/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2022 University of New Hampshire
diff --git a/tests/util/__init__.py b/tests/util/__init__.py
new file mode 100644
index 00000000..93e83aee
--- /dev/null
+++ b/tests/util/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
diff --git a/tests/util/flow/__init__.py b/tests/util/flow/__init__.py
new file mode 100644
index 00000000..93e83aee
--- /dev/null
+++ b/tests/util/flow/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
diff --git a/framework/flow/enums.py b/tests/util/flow/enums.py
similarity index 100%
rename from framework/flow/enums.py
rename to tests/util/flow/enums.py
diff --git a/framework/flow/exceptions.py b/tests/util/flow/exceptions.py
similarity index 100%
rename from framework/flow/exceptions.py
rename to tests/util/flow/exceptions.py
diff --git a/framework/flow/flow.py b/tests/util/flow/flow.py
similarity index 100%
rename from framework/flow/flow.py
rename to tests/util/flow/flow.py
diff --git a/framework/flow/flow_action_items.py b/tests/util/flow/flow_action_items.py
similarity index 100%
rename from framework/flow/flow_action_items.py
rename to tests/util/flow/flow_action_items.py
diff --git a/framework/flow/flow_items.py b/tests/util/flow/flow_items.py
similarity index 94%
rename from framework/flow/flow_items.py
rename to tests/util/flow/flow_items.py
index e43614c5..35d07008 100644
--- a/framework/flow/flow_items.py
+++ b/tests/util/flow/flow_items.py
@@ -33,9 +33,7 @@
 from __future__ import annotations
 
 import copy
-import itertools
-from functools import reduce
-from typing import Any, Dict, FrozenSet, Hashable, Iterable, Set, Tuple, Union
+from typing import Dict, FrozenSet, Iterable, Tuple, Union
 
 from .enums import FlowActionType, FlowItemType
 from .exceptions import InvalidFlowItemException
@@ -95,8 +93,8 @@ class FlowItem(object):
             raise InvalidFlowItemException(self, other)
         elif other.type in self.valid_next_items:
             # These imports are in here so there is no circular import
-            from framework.flow.flow_action_items import ActionFlowItem
-            from framework.flow.flow_pattern_items import PatternFlowItem
+            from tests.util.flow.flow_action_items import ActionFlowItem
+            from tests.util.flow.flow_pattern_items import PatternFlowItem
 
             from .flow import Flow
 
diff --git a/framework/flow/flow_pattern_items.py b/tests/util/flow/flow_pattern_items.py
similarity index 100%
rename from framework/flow/flow_pattern_items.py
rename to tests/util/flow/flow_pattern_items.py
diff --git a/framework/flow/flow_rule.py b/tests/util/flow/flow_rule.py
similarity index 97%
rename from framework/flow/flow_rule.py
rename to tests/util/flow/flow_rule.py
index 6687bffe..4d4cf487 100644
--- a/framework/flow/flow_rule.py
+++ b/tests/util/flow/flow_rule.py
@@ -32,7 +32,7 @@
 
 from typing import Union
 
-import framework.flow.flow_action_items as flow_action_items
+import tests.util.flow.flow_action_items as flow_action_items
 
 from .enums import *
 from .flow import Flow
diff --git a/framework/flow/generator.py b/tests/util/flow/generator.py
similarity index 100%
rename from framework/flow/generator.py
rename to tests/util/flow/generator.py
diff --git a/tests/util/virt/__init__.py b/tests/util/virt/__init__.py
new file mode 100644
index 00000000..93e83aee
--- /dev/null
+++ b/tests/util/virt/__init__.py
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
diff --git a/framework/virt_base.py b/tests/util/virt/virt_base.py
similarity index 99%
rename from framework/virt_base.py
rename to tests/util/virt/virt_base.py
index d4af8b98..4cc64565 100644
--- a/framework/virt_base.py
+++ b/tests/util/virt/virt_base.py
@@ -37,10 +37,10 @@ from random import randint
 import framework.exception as exception
 import framework.utils as utils
 
-from .config import VIRTCONF, VirtConf
-from .dut import Dut
-from .logger import getLogger
-from .settings import CONFIG_ROOT_PATH
+from framework.config import VIRTCONF, VirtConf
+from framework.dut import Dut
+from framework.logger import getLogger
+from framework.settings import CONFIG_ROOT_PATH
 from .virt_dut import VirtDut
 
 ST_NOTSTART = "NOTSTART"
diff --git a/framework/virt_common.py b/tests/util/virt/virt_common.py
similarity index 92%
rename from framework/virt_common.py
rename to tests/util/virt/virt_common.py
index eb5ee066..36ea540e 100644
--- a/framework/virt_common.py
+++ b/tests/util/virt/virt_common.py
@@ -30,10 +30,10 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 import os
 
-from .config import VirtConf
-from .qemu_kvm import QEMUKvm
-from .qemu_libvirt import LibvirtKvm
-from .settings import CONFIG_ROOT_PATH
+from framework.config import VirtConf
+from framework.qemu_kvm import QEMUKvm
+from framework.qemu_libvirt import LibvirtKvm
+from framework.settings import CONFIG_ROOT_PATH
 
 
 def VM(dut, vm_name, suite_name):
diff --git a/framework/virt_dut.py b/tests/util/virt/virt_dut.py
similarity index 98%
rename from framework/virt_dut.py
rename to tests/util/virt/virt_dut.py
index 369abacf..8bbec12c 100644
--- a/framework/virt_dut.py
+++ b/tests/util/virt/virt_dut.py
@@ -36,11 +36,11 @@ import time
 import framework.settings as settings
 from nics.net_device import GetNicObj, RemoveNicObj
 
-from .config import AppNameConf, PortConf
-from .dut import Dut
-from .project_dpdk import DPDKdut
-from .settings import LOG_NAME_SEP, NICS, get_netdev, load_global_setting
-from .utils import RED, parallel_lock
+from framework.config import AppNameConf, PortConf
+from framework.dut import Dut
+from framework.project_dpdk import DPDKdut
+from framework.settings import LOG_NAME_SEP, NICS, get_netdev, load_global_setting
+from framework.utils import RED, parallel_lock
 
 
 class VirtDut(DPDKdut):
diff --git a/framework/virt_scene.py b/tests/util/virt/virt_scene.py
similarity index 98%
rename from framework/virt_scene.py
rename to tests/util/virt/virt_scene.py
index 63760192..694f84b9 100644
--- a/framework/virt_scene.py
+++ b/tests/util/virt/virt_scene.py
@@ -32,12 +32,12 @@ import time
 
 import framework.utils as utils
 
-from .config import VIRTCONF, VirtConf
-from .exception import *
-from .pmd_output import PmdOutput
-from .qemu_kvm import QEMUKvm
-from .settings import CONFIG_ROOT_PATH, get_netdev
-from .utils import create_mask
+from framework.config import VIRTCONF, VirtConf
+from framework.exception import *
+from framework.pmd_output import PmdOutput
+from framework.qemu_kvm import QEMUKvm
+from framework.settings import CONFIG_ROOT_PATH, get_netdev
+from framework.utils import create_mask
 
 # scenario module for handling scenario
 # 1. load configurations
-- 
2.30.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3 2/3] update files depending on tests/util
  2022-04-13 14:54 [PATCH v3 1/3] framework: Move test-specific files to test directory ohilyard
@ 2022-04-13 14:54 ` ohilyard
  2022-04-14  5:40   ` Juraj Linkeš
  2022-04-13 14:54 ` [PATCH v3 3/3] all: ran formatter ohilyard
  2022-04-14  5:39 ` [PATCH v3 1/3] framework: Move test-specific files to test directory Juraj Linkeš
  2 siblings, 1 reply; 7+ messages in thread
From: ohilyard @ 2022-04-13 14:54 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, juraj.linkes, Owen Hilyard

From: Owen Hilyard <ohilyard@iol.unh.edu>

All of these files imported something that has been moved from
framework/ to tests/util/. Unused imports have been removed as part of
updating the import paths.

Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
---
 framework/dut.py                              |  2 +-
 framework/multiple_vm.py                      |  4 +--
 tests/TestSuite_ddp_gtp.py                    |  4 +--
 tests/TestSuite_ddp_mpls.py                   |  7 +-----
 tests/TestSuite_dpdk_gro_lib.py               |  2 +-
 tests/TestSuite_dpdk_gso_lib.py               |  3 +--
 tests/TestSuite_floating_veb.py               |  5 ----
 tests/TestSuite_flow_classify_softnic.py      | 24 +++---------------
 tests/TestSuite_generic_flow_api.py           | 10 --------
 tests/TestSuite_iavf.py                       |  7 ++----
 tests/TestSuite_ip_pipeline.py                | 25 +++----------------
 ...te_ixgbe_vf_get_extra_queue_information.py |  6 +----
 tests/TestSuite_kernelpf_iavf.py              |  4 +--
 tests/TestSuite_mdd.py                        |  4 +--
 tests/TestSuite_pipeline.py                   | 24 +++---------------
 tests/TestSuite_port_control.py               |  4 +--
 tests/TestSuite_power_bidirection_channel.py  |  2 +-
 tests/TestSuite_power_negative.py             |  6 +----
 tests/TestSuite_pvp_diff_qemu_version.py      |  5 +---
 ...Suite_pvp_qemu_multi_paths_port_restart.py |  3 +--
 tests/TestSuite_pvp_vhost_user_reconnect.py   |  2 +-
 tests/TestSuite_pvp_virtio_bonding.py         |  2 +-
 tests/TestSuite_rte_flow.py                   |  5 +---
 tests/TestSuite_runtime_vf_queue_number.py    |  2 +-
 ...estSuite_runtime_vf_queue_number_kernel.py |  2 +-
 tests/TestSuite_shutdown_api.py               |  6 ++---
 tests/TestSuite_sriov_kvm.py                  |  6 +----
 tests/TestSuite_vdev_primary_secondary.py     |  2 +-
 tests/TestSuite_veb_switch.py                 |  5 ----
 tests/TestSuite_vf_daemon.py                  |  7 +-----
 tests/TestSuite_vf_interrupt_pmd.py           |  6 +----
 tests/TestSuite_vf_jumboframe.py              |  5 +---
 tests/TestSuite_vf_kernel.py                  |  4 +--
 tests/TestSuite_vf_macfilter.py               |  3 +--
 tests/TestSuite_vf_offload.py                 |  7 +-----
 tests/TestSuite_vf_packet_rxtx.py             |  3 +--
 tests/TestSuite_vf_port_start_stop.py         |  3 +--
 tests/TestSuite_vf_rss.py                     |  2 +-
 tests/TestSuite_vf_to_vf_nic_bridge.py        |  3 +--
 tests/TestSuite_vf_vlan.py                    |  4 +--
 tests/TestSuite_vhost_event_idx_interrupt.py  |  3 +--
 tests/TestSuite_vhost_multi_queue_qemu.py     |  2 +-
 tests/TestSuite_vhost_pmd_xstats.py           |  4 ---
 tests/TestSuite_vhost_user_live_migration.py  |  3 +--
 tests/TestSuite_vhost_virtio_pmd_interrupt.py |  2 +-
 tests/TestSuite_virtio_event_idx_interrupt.py |  3 +--
 .../TestSuite_virtio_ipsec_cryptodev_func.py  |  5 +---
 tests/TestSuite_virtio_perf_cryptodev_func.py |  5 +---
 tests/TestSuite_virtio_pvp_regression.py      |  3 +--
 tests/TestSuite_virtio_unit_cryptodev_func.py |  6 +----
 tests/TestSuite_vm2vm_virtio_net_perf.py      |  2 +-
 tests/TestSuite_vm2vm_virtio_pmd.py           |  2 +-
 tests/TestSuite_vm_hotplug.py                 |  2 +-
 tests/TestSuite_vm_power_manager.py           |  3 +--
 tests/TestSuite_vm_pw_mgmt_policy.py          |  3 +--
 tests/TestSuite_vswitch_sample_cbdma.py       |  2 +-
 {framework => tests/util/virt}/qemu_kvm.py    |  8 +++---
 .../util/virt}/qemu_libvirt.py                | 11 ++------
 tests/util/virt/virt_common.py                |  4 +--
 tests/util/virt/virt_scene.py                 |  5 ++--
 60 files changed, 74 insertions(+), 234 deletions(-)
 rename {framework => tests/util/virt}/qemu_kvm.py (99%)
 rename {framework => tests/util/virt}/qemu_libvirt.py (99%)

diff --git a/framework/dut.py b/framework/dut.py
index 6a8fc957..83f0d7a2 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -46,7 +46,7 @@ from .settings import LOG_NAME_SEP, NICS
 from .ssh_connection import SSHConnection
 from .test_result import ResultTable
 from .utils import RED, remove_old_rsa_key
-from .virt_resource import VirtResource
+from framework.virt_resource import VirtResource
 
 
 class Dut(Crb):
diff --git a/framework/multiple_vm.py b/framework/multiple_vm.py
index aac8f160..985dea7f 100644
--- a/framework/multiple_vm.py
+++ b/framework/multiple_vm.py
@@ -1,4 +1,3 @@
-import re
 import threading
 import time
 import traceback
@@ -7,7 +6,6 @@ import threadpool
 
 from .logger import getLogger
 from .settings import DTS_ERR_TBL, DTS_PARALLEL_SETTING, save_global_setting
-from .utils import RED
 
 
 class MultipleVM(object):
@@ -79,7 +77,7 @@ class MultipleVM(object):
         self.logger.info("Parallel task start for DUT%d %s" % (dut_id, vm_name))
         threading.current_thread().name = vm_name
 
-        from .qemu_kvm import QEMUKvm
+        from tests.util.virt.qemu_kvm import QEMUKvm
 
         # VM configured by configuration file
         if "virt_config" in args:
diff --git a/tests/TestSuite_ddp_gtp.py b/tests/TestSuite_ddp_gtp.py
index f6ceb5b4..7b1b4f81 100644
--- a/tests/TestSuite_ddp_gtp.py
+++ b/tests/TestSuite_ddp_gtp.py
@@ -31,13 +31,11 @@
 
 import random
 import re
-import sys
 import time
 
 import framework.utils as utils
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
-from framework.settings import get_nic_name
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 VM_CORES_MASK = "all"
diff --git a/tests/TestSuite_ddp_mpls.py b/tests/TestSuite_ddp_mpls.py
index 9b1179be..0ab4cb6c 100644
--- a/tests/TestSuite_ddp_mpls.py
+++ b/tests/TestSuite_ddp_mpls.py
@@ -30,15 +30,10 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import random
-import sys
 import time
 
-from scapy.utils import rdpcap
-
-import framework.utils as utils
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
-from framework.settings import get_nic_name
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 VM_CORES_MASK = "all"
diff --git a/tests/TestSuite_dpdk_gro_lib.py b/tests/TestSuite_dpdk_gro_lib.py
index e19b3695..87af21ca 100644
--- a/tests/TestSuite_dpdk_gro_lib.py
+++ b/tests/TestSuite_dpdk_gro_lib.py
@@ -42,7 +42,7 @@ import time
 import framework.utils as utils
 import tests.vhost_peer_conf as peer
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestDPDKGROLib(TestCase):
diff --git a/tests/TestSuite_dpdk_gso_lib.py b/tests/TestSuite_dpdk_gso_lib.py
index 25293643..6b7c86f1 100644
--- a/tests/TestSuite_dpdk_gso_lib.py
+++ b/tests/TestSuite_dpdk_gso_lib.py
@@ -41,9 +41,8 @@ import time
 
 import framework.utils as utils
 import tests.vhost_peer_conf as peer
-from framework.config import UserConf
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestDPDKGsoLib(TestCase):
diff --git a/tests/TestSuite_floating_veb.py b/tests/TestSuite_floating_veb.py
index c3c0f83c..3d2e44eb 100644
--- a/tests/TestSuite_floating_veb.py
+++ b/tests/TestSuite_floating_veb.py
@@ -38,14 +38,9 @@ Test Floating VEB Features by Poll Mode Drivers.
 import re
 import time
 
-from framework.dut import Dut
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.utils import RED
-from framework.virt_dut import VirtDut
 
 
 class TestFloatingVEBSwitching(TestCase):
diff --git a/tests/TestSuite_flow_classify_softnic.py b/tests/TestSuite_flow_classify_softnic.py
index 14042d18..d0f35b82 100644
--- a/tests/TestSuite_flow_classify_softnic.py
+++ b/tests/TestSuite_flow_classify_softnic.py
@@ -29,33 +29,17 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import os
-import random
 import re
 import time
 from time import sleep
 
-import scapy.layers.inet
-from scapy.arch import get_if_hwaddr
-from scapy.layers.inet import ICMP, IP, TCP, UDP, Ether
+from scapy.layers.inet import IP, TCP, UDP, Ether
 from scapy.layers.inet6 import IPv6
-from scapy.layers.l2 import ARP, GRE, Dot1Q
-from scapy.layers.sctp import SCTP, SCTPChunkData
-from scapy.packet import Raw, bind_layers
-from scapy.route import *
-from scapy.sendrecv import sendp, sniff
-from scapy.utils import hexstr, rdpcap, wrpcap
-
-import framework.utils as utils
-from framework.crb import Crb
-from framework.dut import Dut
-from framework.exception import VerifyFailure
-from framework.packet import Packet
+from scapy.layers.sctp import SCTP
+from scapy.utils import rdpcap, wrpcap
+
 from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import DRIVERS, HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_dut import VirtDut
 
 
 class TestFlowClassifySoftnic(TestCase):
diff --git a/tests/TestSuite_generic_flow_api.py b/tests/TestSuite_generic_flow_api.py
index a87f3f8b..998edc46 100644
--- a/tests/TestSuite_generic_flow_api.py
+++ b/tests/TestSuite_generic_flow_api.py
@@ -36,24 +36,14 @@ Test the support of generic flow API by Poll Mode Drivers.
 
 """
 
-import os
 import random
 import re
 import time
 
-import scapy.layers.inet
-from scapy.utils import rdpcap
-
 import framework.packet as packet
 import framework.utils as utils
-from framework.crb import Crb
-from framework.dut import Dut
-from framework.exception import VerifyFailure
 from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import DRIVERS, HEADER_SIZE
 from framework.test_case import TestCase, check_supported_nic
-from framework.virt_dut import VirtDut
 
 MAX_VLAN = 4095
 MAX_QUEUE = 15
diff --git a/tests/TestSuite_iavf.py b/tests/TestSuite_iavf.py
index d52996d2..15dfba08 100644
--- a/tests/TestSuite_iavf.py
+++ b/tests/TestSuite_iavf.py
@@ -36,16 +36,13 @@ Test some iavf function in i40e driver
 
 """
 
-import math
-import random
 import re
 import time
 
-from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.settings import HEADER_SIZE, get_nic_name
+from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "Default"
 
diff --git a/tests/TestSuite_ip_pipeline.py b/tests/TestSuite_ip_pipeline.py
index e5720e74..efed9672 100644
--- a/tests/TestSuite_ip_pipeline.py
+++ b/tests/TestSuite_ip_pipeline.py
@@ -29,34 +29,17 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import os
-import random
 import re
 import time
 from time import sleep
 
-import scapy.layers.inet
-from scapy.arch import get_if_hwaddr
-from scapy.layers.inet import ICMP, IP, TCP, UDP, Ether
-from scapy.layers.l2 import ARP, GRE, Dot1Q
-from scapy.layers.sctp import SCTP, SCTPChunkData
-from scapy.packet import Raw, bind_layers
-from scapy.route import *
-from scapy.sendrecv import sendp, sniff
+from scapy.layers.inet import IP, TCP, Ether
+from scapy.packet import Raw
 
 # from scapy.all import conf
-from scapy.utils import hexstr, rdpcap, wrpcap
-
-import framework.utils as utils
-from framework.crb import Crb
-from framework.dut import Dut
-from framework.exception import VerifyFailure
-from framework.packet import Packet
-from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import DRIVERS, HEADER_SIZE
+from scapy.utils import rdpcap, wrpcap
+
 from framework.test_case import TestCase
-from framework.virt_dut import VirtDut
 
 
 class TestIPPipeline(TestCase):
diff --git a/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py b/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
index 0e64a5d6..2fa2974f 100644
--- a/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
+++ b/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
@@ -33,18 +33,14 @@
 DPDK Test suite.
 Test Niantic ixgbe_get_vf_queue Include Extra Information function.
 """
-import random
-import re
 import time
 
-import framework.utils as utils
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 # Use scapy to send packets with different source and dest ip.
 # and collect the hash result of five tuple and the queue id.
 from framework.test_case import TestCase
-from framework.virt_common import VM
 
 
 class TestIxgbeVfGetExtraInfo(TestCase):
diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py
index 3c8e5929..55e40630 100644
--- a/tests/TestSuite_kernelpf_iavf.py
+++ b/tests/TestSuite_kernelpf_iavf.py
@@ -44,10 +44,8 @@ import time
 import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.utils import RED
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 MAX_VLAN = 4095
diff --git a/tests/TestSuite_mdd.py b/tests/TestSuite_mdd.py
index dc28b9fe..43049974 100644
--- a/tests/TestSuite_mdd.py
+++ b/tests/TestSuite_mdd.py
@@ -34,14 +34,12 @@ DPDK Test suite.
 Test the support of Malicious Driver Detection
 """
 
-
-import re
 import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 send_pks_num = 2000
diff --git a/tests/TestSuite_pipeline.py b/tests/TestSuite_pipeline.py
index c13bd714..b36d62e9 100644
--- a/tests/TestSuite_pipeline.py
+++ b/tests/TestSuite_pipeline.py
@@ -31,34 +31,18 @@
 
 import itertools
 import os
-import random
 import re
 import socket
 import time
 from time import sleep
 
-import scapy.layers.inet
-from scapy.arch import get_if_hwaddr
-from scapy.layers.inet import ICMP, IP, TCP, UDP, Ether
-from scapy.layers.l2 import ARP, GRE, Dot1Q
-from scapy.layers.sctp import SCTP, SCTPChunkData
-from scapy.packet import Raw, bind_layers
-from scapy.route import *
-from scapy.sendrecv import sendp, sniff
+from scapy.layers.inet import IP, TCP, Ether
+from scapy.packet import Raw
 
 # from scapy.all import conf
-from scapy.utils import hexstr, rdpcap, wrpcap
-
-import framework.utils as utils
-from framework.crb import Crb
-from framework.dut import Dut
-from framework.exception import VerifyFailure
-from framework.packet import Packet
-from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import DRIVERS, HEADER_SIZE
+from scapy.utils import rdpcap, wrpcap
+
 from framework.test_case import TestCase
-from framework.virt_dut import VirtDut
 
 TIMESTAMP = re.compile(r"\d{2}\:\d{2}\:\d{2}\.\d{6}")
 PAYLOAD = re.compile(r"\t0x([0-9a-fA-F]+):  ([0-9a-fA-F ]+)")
diff --git a/tests/TestSuite_port_control.py b/tests/TestSuite_port_control.py
index 8055b776..fce2c523 100755
--- a/tests/TestSuite_port_control.py
+++ b/tests/TestSuite_port_control.py
@@ -29,15 +29,13 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import os
 import re
 import time
 
 import framework.packet as packet
-import framework.utils as utils
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestPortControl(TestCase):
diff --git a/tests/TestSuite_power_bidirection_channel.py b/tests/TestSuite_power_bidirection_channel.py
index 1f2dcd1d..b8a5e028 100644
--- a/tests/TestSuite_power_bidirection_channel.py
+++ b/tests/TestSuite_power_bidirection_channel.py
@@ -38,7 +38,7 @@ import time
 import traceback
 
 from framework.exception import VerifyFailure
-from framework.qemu_libvirt import LibvirtKvm
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
 from framework.utils import create_mask as dts_create_mask
 
diff --git a/tests/TestSuite_power_negative.py b/tests/TestSuite_power_negative.py
index b1ca3ebd..2d98d8a6 100644
--- a/tests/TestSuite_power_negative.py
+++ b/tests/TestSuite_power_negative.py
@@ -35,14 +35,10 @@ power negative test suite.
 """
 
 import os
-import re
 import time
-import traceback
 
-from framework.exception import VerifyFailure
-from framework.qemu_libvirt import LibvirtKvm
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
-from framework.utils import create_mask as dts_create_mask
 
 
 class TestPowerNegative(TestCase):
diff --git a/tests/TestSuite_pvp_diff_qemu_version.py b/tests/TestSuite_pvp_diff_qemu_version.py
index b1fb18ae..eac63a63 100644
--- a/tests/TestSuite_pvp_diff_qemu_version.py
+++ b/tests/TestSuite_pvp_diff_qemu_version.py
@@ -41,13 +41,10 @@ qemu =
 import re
 import time
 
-from scapy.utils import wrpcap
-
-import framework.utils as utils
 from framework.pktgen import PacketGeneratorHelper
 from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVhostPVPDiffQemuVersion(TestCase):
diff --git a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
index 0a5dcdd2..855d4251 100644
--- a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
+++ b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py
@@ -41,11 +41,10 @@ port restart test with each path
 import re
 import time
 
-import framework.utils as utils
 from framework.packet import Packet
 from framework.pktgen import PacketGeneratorHelper
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestPVPQemuMultiPathPortRestart(TestCase):
diff --git a/tests/TestSuite_pvp_vhost_user_reconnect.py b/tests/TestSuite_pvp_vhost_user_reconnect.py
index 327444fb..ec494106 100644
--- a/tests/TestSuite_pvp_vhost_user_reconnect.py
+++ b/tests/TestSuite_pvp_vhost_user_reconnect.py
@@ -43,7 +43,7 @@ import framework.utils as utils
 from framework.packet import Packet
 from framework.pktgen import PacketGeneratorHelper
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestPVPVhostUserReconnect(TestCase):
diff --git a/tests/TestSuite_pvp_virtio_bonding.py b/tests/TestSuite_pvp_virtio_bonding.py
index 3565882e..e009a819 100644
--- a/tests/TestSuite_pvp_virtio_bonding.py
+++ b/tests/TestSuite_pvp_virtio_bonding.py
@@ -42,7 +42,7 @@ from framework.packet import Packet
 from framework.pktgen import PacketGeneratorHelper
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestPVPVirtIOBonding(TestCase):
diff --git a/tests/TestSuite_rte_flow.py b/tests/TestSuite_rte_flow.py
index b8d41540..237a2559 100644
--- a/tests/TestSuite_rte_flow.py
+++ b/tests/TestSuite_rte_flow.py
@@ -34,12 +34,9 @@
 DPDK Test suite.
 MTU Checks example.
 """
-import ipaddress
-import time
 from typing import Callable
 
-import framework.utils as utils
-from framework.flow import generator
+from tests.util.flow import generator
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
 
diff --git a/tests/TestSuite_runtime_vf_queue_number.py b/tests/TestSuite_runtime_vf_queue_number.py
index ae431f56..99af8710 100644
--- a/tests/TestSuite_runtime_vf_queue_number.py
+++ b/tests/TestSuite_runtime_vf_queue_number.py
@@ -39,7 +39,7 @@ import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 RSS_KEY = "6EA6A420D5138E712433B813AE45B3C4BECB2B405F31AD6C331835372D15E2D5E49566EE0ED1962AFA1B7932F3549520FD71C75E"
diff --git a/tests/TestSuite_runtime_vf_queue_number_kernel.py b/tests/TestSuite_runtime_vf_queue_number_kernel.py
index e8f9f5c9..16101c98 100755
--- a/tests/TestSuite_runtime_vf_queue_number_kernel.py
+++ b/tests/TestSuite_runtime_vf_queue_number_kernel.py
@@ -41,7 +41,7 @@ import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_shutdown_api.py b/tests/TestSuite_shutdown_api.py
index a109932a..9248447a 100644
--- a/tests/TestSuite_shutdown_api.py
+++ b/tests/TestSuite_shutdown_api.py
@@ -36,8 +36,6 @@ Test Shutdown API Feature
 
 """
 
-import os
-import random
 import re
 import time
 from random import randint
@@ -45,8 +43,8 @@ from random import randint
 import framework.utils as utils
 from framework.exception import VerifyFailure
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
-from framework.settings import DRIVERS, HEADER_SIZE, PROTOCOL_PACKET_SIZE, get_nic_name
+from tests.util.virt.qemu_kvm import QEMUKvm
+from framework.settings import DRIVERS, HEADER_SIZE
 from framework.test_case import TestCase
 
 #
diff --git a/tests/TestSuite_sriov_kvm.py b/tests/TestSuite_sriov_kvm.py
index c2ce2259..245eca70 100644
--- a/tests/TestSuite_sriov_kvm.py
+++ b/tests/TestSuite_sriov_kvm.py
@@ -37,15 +37,11 @@ Test userland 10Gb PMD.
 
 """
 
-import pdb
-import random
-import re
 import time
 
 from framework.pmd_output import PmdOutput
-from framework.settings import PROTOCOL_PACKET_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 FRAME_SIZE_64 = 64
 VM_CORES_MASK = "all"
diff --git a/tests/TestSuite_vdev_primary_secondary.py b/tests/TestSuite_vdev_primary_secondary.py
index 7f054cda..2bfe862b 100644
--- a/tests/TestSuite_vdev_primary_secondary.py
+++ b/tests/TestSuite_vdev_primary_secondary.py
@@ -46,7 +46,7 @@ import time
 
 import framework.utils as utils
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVdevPrimarySecondary(TestCase):
diff --git a/tests/TestSuite_veb_switch.py b/tests/TestSuite_veb_switch.py
index 7b91fee3..5fd5526e 100644
--- a/tests/TestSuite_veb_switch.py
+++ b/tests/TestSuite_veb_switch.py
@@ -39,14 +39,9 @@ import re
 import time
 
 import framework.utils as utils
-from framework.dut import Dut
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.project_dpdk import DPDKdut
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.utils import RED
-from framework.virt_dut import VirtDut
 
 
 class TestVEBSwitching(TestCase):
diff --git a/tests/TestSuite_vf_daemon.py b/tests/TestSuite_vf_daemon.py
index 29520965..1f119adf 100644
--- a/tests/TestSuite_vf_daemon.py
+++ b/tests/TestSuite_vf_daemon.py
@@ -30,16 +30,11 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import random
-import sys
 import time
 
-from scapy.utils import rdpcap
-
-import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
-from framework.settings import get_nic_name
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 VM_CORES_MASK = "all"
diff --git a/tests/TestSuite_vf_interrupt_pmd.py b/tests/TestSuite_vf_interrupt_pmd.py
index d0b02b12..a4d6020f 100644
--- a/tests/TestSuite_vf_interrupt_pmd.py
+++ b/tests/TestSuite_vf_interrupt_pmd.py
@@ -35,14 +35,10 @@ DPDK Test suite.
 Test vf_interrupt_pmd.
 """
 
-import pdb
-import re
-import time
-
 import framework.utils as utils
 from framework.packet import Packet
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVfInterruptPmd(TestCase):
diff --git a/tests/TestSuite_vf_jumboframe.py b/tests/TestSuite_vf_jumboframe.py
index 2245a92e..0fb15a3f 100644
--- a/tests/TestSuite_vf_jumboframe.py
+++ b/tests/TestSuite_vf_jumboframe.py
@@ -29,16 +29,13 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import re
 import time
 
 import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.utils import RED
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_vf_kernel.py b/tests/TestSuite_vf_kernel.py
index b30b60b2..755f5741 100755
--- a/tests/TestSuite_vf_kernel.py
+++ b/tests/TestSuite_vf_kernel.py
@@ -44,9 +44,9 @@ import time
 import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
-from framework.utils import GREEN, RED
+from framework.utils import GREEN
 
 
 class TestVfKernel(TestCase):
diff --git a/tests/TestSuite_vf_macfilter.py b/tests/TestSuite_vf_macfilter.py
index 5351cb68..2e4d08b4 100644
--- a/tests/TestSuite_vf_macfilter.py
+++ b/tests/TestSuite_vf_macfilter.py
@@ -29,12 +29,11 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import re
 import time
 
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_vf_offload.py b/tests/TestSuite_vf_offload.py
index dff1a1b9..ff01e2ad 100644
--- a/tests/TestSuite_vf_offload.py
+++ b/tests/TestSuite_vf_offload.py
@@ -30,17 +30,12 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import re
-import string
 import time
 
 import framework.utils as utils
-from framework.crb import Crb
 from framework.pmd_output import PmdOutput
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.utils import GREEN, RED
-from framework.virt_common import VM
-from nics.net_device import NetDevice
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 DEFAULT_MTU = 1500
diff --git a/tests/TestSuite_vf_packet_rxtx.py b/tests/TestSuite_vf_packet_rxtx.py
index ea000c83..d3597013 100644
--- a/tests/TestSuite_vf_packet_rxtx.py
+++ b/tests/TestSuite_vf_packet_rxtx.py
@@ -29,13 +29,12 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import re
 import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_vf_port_start_stop.py b/tests/TestSuite_vf_port_start_stop.py
index 5192653d..eebf68ac 100644
--- a/tests/TestSuite_vf_port_start_stop.py
+++ b/tests/TestSuite_vf_port_start_stop.py
@@ -29,13 +29,12 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-import re
 import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_vf_rss.py b/tests/TestSuite_vf_rss.py
index b8bf65a5..150d658a 100644
--- a/tests/TestSuite_vf_rss.py
+++ b/tests/TestSuite_vf_rss.py
@@ -46,7 +46,7 @@ from framework.pmd_output import PmdOutput
 # Use scapy to send packets with different source and dest ip.
 # and collect the hash result of five tuple and the queue id.
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVfRss(TestCase):
diff --git a/tests/TestSuite_vf_to_vf_nic_bridge.py b/tests/TestSuite_vf_to_vf_nic_bridge.py
index f9b5b9ab..f46a65ad 100644
--- a/tests/TestSuite_vf_to_vf_nic_bridge.py
+++ b/tests/TestSuite_vf_to_vf_nic_bridge.py
@@ -33,14 +33,13 @@ DPDK Test suite
 Test vf to vf nic bridge
 """
 
-import pdb
 import re
 import time
 
 import framework.utils as utils
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VF_NUMS_ON_ONE_PF = 2
 VF_TEMP_MAC = "52:54:12:45:67:1%d"
diff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py
index d4cf29b3..e80531e3 100644
--- a/tests/TestSuite_vf_vlan.py
+++ b/tests/TestSuite_vf_vlan.py
@@ -30,14 +30,12 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import random
-import re
 import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.settings import get_nic_name
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 VM_CORES_MASK = "all"
 MAX_VLAN = 4095
diff --git a/tests/TestSuite_vhost_event_idx_interrupt.py b/tests/TestSuite_vhost_event_idx_interrupt.py
index f01465f1..65001305 100644
--- a/tests/TestSuite_vhost_event_idx_interrupt.py
+++ b/tests/TestSuite_vhost_event_idx_interrupt.py
@@ -37,9 +37,8 @@ Vhost event idx interrupt need test with l3fwd-power sample
 import re
 import time
 
-import framework.utils as utils
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVhostEventIdxInterrupt(TestCase):
diff --git a/tests/TestSuite_vhost_multi_queue_qemu.py b/tests/TestSuite_vhost_multi_queue_qemu.py
index 6359bfc8..f17daf70 100644
--- a/tests/TestSuite_vhost_multi_queue_qemu.py
+++ b/tests/TestSuite_vhost_multi_queue_qemu.py
@@ -43,7 +43,7 @@ from framework.pktgen import PacketGeneratorHelper
 from framework.pmd_output import PmdOutput
 from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVhostMultiQueueQemu(TestCase):
diff --git a/tests/TestSuite_vhost_pmd_xstats.py b/tests/TestSuite_vhost_pmd_xstats.py
index 9adb9708..7f6dcecf 100644
--- a/tests/TestSuite_vhost_pmd_xstats.py
+++ b/tests/TestSuite_vhost_pmd_xstats.py
@@ -37,13 +37,9 @@ vhost pmd xstats test suite.
 import copy
 import datetime
 import re
-import time
 
-import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
-from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
 
 ETHER_JUMBO_FRAME_MTU = 9000
diff --git a/tests/TestSuite_vhost_user_live_migration.py b/tests/TestSuite_vhost_user_live_migration.py
index a5e72672..8ac41973 100644
--- a/tests/TestSuite_vhost_user_live_migration.py
+++ b/tests/TestSuite_vhost_user_live_migration.py
@@ -32,12 +32,11 @@ import os.path
 import re
 import time
 
-import framework.utils as utils
 from framework.config import UserConf
 from framework.exception import VirtDutInitException
 from framework.settings import CONFIG_ROOT_PATH
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVhostUserLiveMigration(TestCase):
diff --git a/tests/TestSuite_vhost_virtio_pmd_interrupt.py b/tests/TestSuite_vhost_virtio_pmd_interrupt.py
index e541b5e3..51ad0154 100644
--- a/tests/TestSuite_vhost_virtio_pmd_interrupt.py
+++ b/tests/TestSuite_vhost_virtio_pmd_interrupt.py
@@ -41,7 +41,7 @@ import framework.utils as utils
 from framework.packet import Packet
 from framework.pktgen import PacketGeneratorHelper
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVhostVirtioPmdInterrupt(TestCase):
diff --git a/tests/TestSuite_virtio_event_idx_interrupt.py b/tests/TestSuite_virtio_event_idx_interrupt.py
index 2429887b..2ef56fac 100644
--- a/tests/TestSuite_virtio_event_idx_interrupt.py
+++ b/tests/TestSuite_virtio_event_idx_interrupt.py
@@ -38,10 +38,9 @@ import _thread
 import re
 import time
 
-import framework.utils as utils
 from framework.pktgen import PacketGeneratorHelper
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVirtioIdxInterrupt(TestCase):
diff --git a/tests/TestSuite_virtio_ipsec_cryptodev_func.py b/tests/TestSuite_virtio_ipsec_cryptodev_func.py
index 07ec5633..00dc7558 100644
--- a/tests/TestSuite_virtio_ipsec_cryptodev_func.py
+++ b/tests/TestSuite_virtio_ipsec_cryptodev_func.py
@@ -33,14 +33,11 @@ DPDK Test suite
 Test DPDK vhost + virtio scenarios
 """
 import binascii
-import os
-import subprocess
-import time
 
 import framework.utils as utils
 import tests.cryptodev_common as cc
 from framework.packet import Packet
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 
diff --git a/tests/TestSuite_virtio_perf_cryptodev_func.py b/tests/TestSuite_virtio_perf_cryptodev_func.py
index 2a1ae951..d89cb024 100644
--- a/tests/TestSuite_virtio_perf_cryptodev_func.py
+++ b/tests/TestSuite_virtio_perf_cryptodev_func.py
@@ -32,12 +32,9 @@
 DPDK Test suite
 Test DPDK vhost + virtio scenarios
 """
-import os
-import subprocess
 
-import framework.utils as utils
 import tests.cryptodev_common as cc
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 
diff --git a/tests/TestSuite_virtio_pvp_regression.py b/tests/TestSuite_virtio_pvp_regression.py
index 9d7fe197..3ea0aef7 100644
--- a/tests/TestSuite_virtio_pvp_regression.py
+++ b/tests/TestSuite_virtio_pvp_regression.py
@@ -44,11 +44,10 @@ qemu =
 import re
 import time
 
-import framework.utils as utils
 from framework.pktgen import PacketGeneratorHelper
 from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVirtioPVPRegression(TestCase):
diff --git a/tests/TestSuite_virtio_unit_cryptodev_func.py b/tests/TestSuite_virtio_unit_cryptodev_func.py
index 22e595e4..08cd03e3 100644
--- a/tests/TestSuite_virtio_unit_cryptodev_func.py
+++ b/tests/TestSuite_virtio_unit_cryptodev_func.py
@@ -34,12 +34,8 @@ DPDK Test suite
 Test DPDK vhost + virtio scenarios
 """
 
-import os
-import subprocess
-
-import framework.utils as utils
 import tests.cryptodev_common as cc
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 
diff --git a/tests/TestSuite_vm2vm_virtio_net_perf.py b/tests/TestSuite_vm2vm_virtio_net_perf.py
index 486f1acf..3b107368 100644
--- a/tests/TestSuite_vm2vm_virtio_net_perf.py
+++ b/tests/TestSuite_vm2vm_virtio_net_perf.py
@@ -46,7 +46,7 @@ import time
 import framework.utils as utils
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVM2VMVirtioNetPerf(TestCase):
diff --git a/tests/TestSuite_vm2vm_virtio_pmd.py b/tests/TestSuite_vm2vm_virtio_pmd.py
index 9460c5fa..e208c87c 100644
--- a/tests/TestSuite_vm2vm_virtio_pmd.py
+++ b/tests/TestSuite_vm2vm_virtio_pmd.py
@@ -45,7 +45,7 @@ import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVM2VMVirtioPMD(TestCase):
diff --git a/tests/TestSuite_vm_hotplug.py b/tests/TestSuite_vm_hotplug.py
index b9084e35..b96d780c 100644
--- a/tests/TestSuite_vm_hotplug.py
+++ b/tests/TestSuite_vm_hotplug.py
@@ -41,7 +41,7 @@ import re
 import time
 
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 
 VM_CORES_MASK = "all"
diff --git a/tests/TestSuite_vm_power_manager.py b/tests/TestSuite_vm_power_manager.py
index 917a60f3..2c6a37bc 100644
--- a/tests/TestSuite_vm_power_manager.py
+++ b/tests/TestSuite_vm_power_manager.py
@@ -37,8 +37,7 @@ VM power manager test suite.
 import re
 
 import framework.utils as utils
-from framework.qemu_libvirt import LibvirtKvm
-from framework.settings import HEADER_SIZE
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
 
 
diff --git a/tests/TestSuite_vm_pw_mgmt_policy.py b/tests/TestSuite_vm_pw_mgmt_policy.py
index d15cbbe0..0f43f289 100644
--- a/tests/TestSuite_vm_pw_mgmt_policy.py
+++ b/tests/TestSuite_vm_pw_mgmt_policy.py
@@ -36,7 +36,6 @@ virtual power manager policy (traffic/time) test suite.
 import os
 import random
 import re
-import textwrap
 import time
 import traceback
 from copy import deepcopy
@@ -48,7 +47,7 @@ from framework.exception import VerifyFailure
 from framework.packet import Packet
 from framework.pktgen import TRANSMIT_CONT
 from framework.pmd_output import PmdOutput
-from framework.qemu_libvirt import LibvirtKvm
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
 from framework.utils import create_mask as dts_create_mask
 
diff --git a/tests/TestSuite_vswitch_sample_cbdma.py b/tests/TestSuite_vswitch_sample_cbdma.py
index 503c8ba0..5fa901f7 100644
--- a/tests/TestSuite_vswitch_sample_cbdma.py
+++ b/tests/TestSuite_vswitch_sample_cbdma.py
@@ -45,7 +45,7 @@ from framework.pktgen import PacketGeneratorHelper
 from framework.pmd_output import PmdOutput
 from framework.settings import HEADER_SIZE
 from framework.test_case import TestCase
-from framework.virt_common import VM
+from tests.util.virt.virt_common import VM
 
 
 class TestVswitchSampleCBDMA(TestCase):
diff --git a/framework/qemu_kvm.py b/tests/util/virt/qemu_kvm.py
similarity index 99%
rename from framework/qemu_kvm.py
rename to tests/util/virt/qemu_kvm.py
index 5615263b..c6db1bb7 100644
--- a/framework/qemu_kvm.py
+++ b/tests/util/virt/qemu_kvm.py
@@ -34,10 +34,10 @@ import os
 import re
 import time
 
-from .exception import StartVMFailedException
-from .settings import DTS_PARALLEL_SETTING, get_host_ip, load_global_setting
-from .utils import RED, parallel_lock
-from .virt_base import ST_NOTSTART, ST_PAUSE, ST_RUNNING, ST_UNKNOWN, VirtBase
+from framework.exception import StartVMFailedException
+from framework.settings import get_host_ip
+from framework.utils import RED, parallel_lock
+from tests.util.virt.virt_base import ST_NOTSTART, ST_PAUSE, ST_RUNNING, ST_UNKNOWN, VirtBase
 
 # This name is directly defined in the qemu guest service
 # So you can not change it except it is changed by the service
diff --git a/framework/qemu_libvirt.py b/tests/util/virt/qemu_libvirt.py
similarity index 99%
rename from framework/qemu_libvirt.py
rename to tests/util/virt/qemu_libvirt.py
index 740b7bbc..63a4bce9 100644
--- a/framework/qemu_libvirt.py
+++ b/tests/util/virt/qemu_libvirt.py
@@ -36,15 +36,8 @@ import xml.etree.ElementTree as ET
 from xml.dom import minidom
 from xml.etree.ElementTree import ElementTree
 
-import framework.utils as utils
-
-from .config import VIRTCONF, VirtConf
-from .dut import Dut
-from .exception import StartVMFailedException
-from .logger import getLogger
-from .ssh_connection import SSHConnection
-from .virt_base import VirtBase
-from .virt_resource import VirtResource
+from framework.exception import StartVMFailedException
+from tests.util.virt.virt_base import VirtBase
 
 
 class LibvirtKvm(VirtBase):
diff --git a/tests/util/virt/virt_common.py b/tests/util/virt/virt_common.py
index 36ea540e..a0057ded 100644
--- a/tests/util/virt/virt_common.py
+++ b/tests/util/virt/virt_common.py
@@ -31,8 +31,8 @@
 import os
 
 from framework.config import VirtConf
-from framework.qemu_kvm import QEMUKvm
-from framework.qemu_libvirt import LibvirtKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.settings import CONFIG_ROOT_PATH
 
 
diff --git a/tests/util/virt/virt_scene.py b/tests/util/virt/virt_scene.py
index 694f84b9..7dc7d45e 100644
--- a/tests/util/virt/virt_scene.py
+++ b/tests/util/virt/virt_scene.py
@@ -28,14 +28,13 @@
 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-import time
 
 import framework.utils as utils
 
-from framework.config import VIRTCONF, VirtConf
+from framework.config import VirtConf
 from framework.exception import *
 from framework.pmd_output import PmdOutput
-from framework.qemu_kvm import QEMUKvm
+from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.settings import CONFIG_ROOT_PATH, get_netdev
 from framework.utils import create_mask
 
-- 
2.30.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3 3/3] all: ran formatter
  2022-04-13 14:54 [PATCH v3 1/3] framework: Move test-specific files to test directory ohilyard
  2022-04-13 14:54 ` [PATCH v3 2/3] update files depending on tests/util ohilyard
@ 2022-04-13 14:54 ` ohilyard
  2022-04-14  5:39 ` [PATCH v3 1/3] framework: Move test-specific files to test directory Juraj Linkeš
  2 siblings, 0 replies; 7+ messages in thread
From: ohilyard @ 2022-04-13 14:54 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, juraj.linkes, Owen Hilyard

From: Owen Hilyard <ohilyard@iol.unh.edu>

It looks like some other parts of DTS were not formatted properly. Since
the formatter script is all or nothing, I have to push those up as well.

Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
---
 framework/dut.py                              |   2 +-
 ...uite_cvl_advanced_iavf_rss_pppol2tpoudp.py | 447 +++++++++---------
 tests/TestSuite_cvl_iavf_fdir_pppol2tpoudp.py |  90 ++--
 tests/TestSuite_ddp_gtp.py                    |   2 +-
 tests/TestSuite_ddp_mpls.py                   |   2 +-
 tests/TestSuite_eeprom_dump.py                |  10 +-
 ...te_ixgbe_vf_get_extra_queue_information.py |   2 +-
 tests/TestSuite_power_bidirection_channel.py  |   2 +-
 tests/TestSuite_power_negative.py             |   2 +-
 tests/TestSuite_rte_flow.py                   |   2 +-
 tests/TestSuite_runtime_vf_queue_number.py    |   2 +-
 tests/TestSuite_shutdown_api.py               |   2 +-
 tests/TestSuite_unit_tests_cmdline.py         |   4 +-
 tests/TestSuite_unit_tests_crc.py             |   4 +-
 tests/TestSuite_unit_tests_cryptodev_func.py  |   4 +-
 tests/TestSuite_unit_tests_dump.py            |   4 +-
 tests/TestSuite_unit_tests_eal.py             |   4 +-
 tests/TestSuite_unit_tests_event_timer.py     |   4 +-
 tests/TestSuite_unit_tests_kni.py             |   4 +-
 tests/TestSuite_unit_tests_loopback.py        |   4 +-
 tests/TestSuite_unit_tests_lpm.py             |   4 +-
 tests/TestSuite_unit_tests_mbuf.py            |   4 +-
 tests/TestSuite_unit_tests_mempool.py         |   4 +-
 tests/TestSuite_unit_tests_pmd_perf.py        |   4 +-
 tests/TestSuite_unit_tests_power.py           |   4 +-
 tests/TestSuite_unit_tests_qos.py             |   4 +-
 tests/TestSuite_unit_tests_ring.py            |   4 +-
 tests/TestSuite_unit_tests_ringpmd.py         |   4 +-
 tests/TestSuite_unit_tests_timer.py           |   4 +-
 tests/TestSuite_vf_daemon.py                  |   2 +-
 tests/TestSuite_vf_kernel.py                  |   2 +-
 .../TestSuite_virtio_ipsec_cryptodev_func.py  |   2 +-
 tests/TestSuite_virtio_perf_cryptodev_func.py |   2 +-
 tests/TestSuite_virtio_unit_cryptodev_func.py |   2 +-
 tests/TestSuite_vm_hotplug.py                 |   2 +-
 tests/TestSuite_vm_power_manager.py           |   2 +-
 tests/TestSuite_vm_pw_mgmt_policy.py          |   2 +-
 tests/util/__init__.py                        |   2 +-
 tests/util/flow/__init__.py                   |   2 +-
 tests/util/virt/__init__.py                   |   2 +-
 tests/util/virt/qemu_kvm.py                   |   8 +-
 tests/util/virt/virt_base.py                  |   2 +-
 tests/util/virt/virt_common.py                |   2 +-
 tests/util/virt/virt_dut.py                   |   3 +-
 tests/util/virt/virt_scene.py                 |   3 +-
 45 files changed, 361 insertions(+), 312 deletions(-)

diff --git a/framework/dut.py b/framework/dut.py
index 83f0d7a2..74260c90 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -37,6 +37,7 @@ from typing import Dict, List, Optional, Union
 from uuid import uuid4
 
 import framework.settings as settings
+from framework.virt_resource import VirtResource
 from nics.net_device import GetNicObj
 
 from .config import AppNameConf, PortConf
@@ -46,7 +47,6 @@ from .settings import LOG_NAME_SEP, NICS
 from .ssh_connection import SSHConnection
 from .test_result import ResultTable
 from .utils import RED, remove_old_rsa_key
-from framework.virt_resource import VirtResource
 
 
 class Dut(Crb):
diff --git a/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py b/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
index f47a3ae7..c6ee9699 100644
--- a/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
+++ b/tests/TestSuite_cvl_advanced_iavf_rss_pppol2tpoudp.py
@@ -1884,7 +1884,7 @@ vector_case_64 = [
     },
 ]
 
-#l2tpv2 control + data
+# l2tpv2 control + data
 vector_case_65 = [
     {
         "sub_casename": "l2tpv2_session_id_MAC_IPV4_L2TPV2_CONTROL",
@@ -1893,21 +1893,21 @@ vector_case_65 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -1919,21 +1919,21 @@ vector_case_66 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -1945,21 +1945,21 @@ vector_case_67 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -1971,21 +1971,21 @@ vector_case_68 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0xc80,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -1997,21 +1997,21 @@ vector_case_69 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2023,21 +2023,21 @@ vector_case_70 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2049,21 +2049,21 @@ vector_case_71 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2075,21 +2075,21 @@ vector_case_72 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2101,21 +2101,21 @@ vector_case_73 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2127,21 +2127,21 @@ vector_case_74 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2153,21 +2153,21 @@ vector_case_75 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2179,21 +2179,21 @@ vector_case_76 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2205,21 +2205,21 @@ vector_case_77 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2231,21 +2231,21 @@ vector_case_78 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2257,21 +2257,21 @@ vector_case_79 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2283,21 +2283,21 @@ vector_case_80 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2309,21 +2309,21 @@ vector_case_81 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2335,21 +2335,21 @@ vector_case_82 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=8,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2361,21 +2361,21 @@ vector_case_83 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2387,21 +2387,21 @@ vector_case_84 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2413,21 +2413,21 @@ vector_case_85 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2439,21 +2439,21 @@ vector_case_86 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2465,21 +2465,21 @@ vector_case_87 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2491,21 +2491,21 @@ vector_case_88 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x2222)",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=12,session_id=0x1111)",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2517,21 +2517,21 @@ vector_case_89 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2543,21 +2543,21 @@ vector_case_90 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2569,21 +2569,21 @@ vector_case_91 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2595,21 +2595,21 @@ vector_case_92 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2621,21 +2621,21 @@ vector_case_93 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2647,21 +2647,21 @@ vector_case_94 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2673,21 +2673,21 @@ vector_case_95 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2699,21 +2699,21 @@ vector_case_96 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2725,21 +2725,21 @@ vector_case_97 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2751,21 +2751,21 @@ vector_case_98 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2777,21 +2777,21 @@ vector_case_99 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2803,21 +2803,21 @@ vector_case_100 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x000,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2829,21 +2829,21 @@ vector_case_101 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2855,21 +2855,21 @@ vector_case_102 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=12,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2881,21 +2881,21 @@ vector_case_103 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2907,21 +2907,21 @@ vector_case_104 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x080,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2933,21 +2933,21 @@ vector_case_105 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2959,21 +2959,21 @@ vector_case_106 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x2222,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x020,session_id=0x1111,offset=6)/Raw(b'\\x00\\x00\\x00\\x00')/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -2985,21 +2985,21 @@ vector_case_107 = [
         "test": [
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
@@ -3011,24 +3011,25 @@ vector_case_108 = [
         "test": [
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "save_hash"
+                "action": "save_hash",
             },
             {
                 "send_packet": "Ether(src='11:22:33:44:55:77')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_different"
+                "action": "check_hash_different",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IPv6()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x2222)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_hash_same"
+                "action": "check_hash_same",
             },
             {
                 "send_packet": "Ether(src='00:00:00:00:00:01')/IP()/UDP(dport=1701)/L2TP(hdr=0x480,len=16,session_id=0x1111)/HDLC()/Raw(b'\\x00\\x00')",
-                "action": "check_no_hash"
+                "action": "check_no_hash",
             },
-        ]
+        ],
     },
 ]
 
+
 class TestCVLAdvancedIAVFRSSPPPoL2TPv2oUDP(TestCase):
     def set_up_all(self):
         """
@@ -3467,8 +3468,8 @@ class TestCVLAdvancedIAVFRSSPPPoL2TPv2oUDP(TestCase):
     ):
         self.switch_testpmd(symmetric=False)
         self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_64)
-    
-     #l2tpv2 control + data
+
+    # l2tpv2 control + data
     def test_case_l2tpv2_session_id_MAC_IPV4_L2TPV2_CONTROL(self):
         self.switch_testpmd(symmetric=False)
         self.rssprocess.handle_rss_distribute_cases(cases_info=vector_case_65)
diff --git a/tests/TestSuite_cvl_iavf_fdir_pppol2tpoudp.py b/tests/TestSuite_cvl_iavf_fdir_pppol2tpoudp.py
index 85d455be..1d367aaf 100644
--- a/tests/TestSuite_cvl_iavf_fdir_pppol2tpoudp.py
+++ b/tests/TestSuite_cvl_iavf_fdir_pppol2tpoudp.py
@@ -30,18 +30,18 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-import re
 import random
+import re
 import time
 from multiprocessing import Manager, Process
 
+import framework.utils as utils
+import tests.rte_flow_common as rfc
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
-
-import framework.utils as utils
-import tests.rte_flow_common as rfc
 from framework.utils import GREEN, RED
+
 from .rte_flow_common import CVL_TXQ_RXQ_NUMBER
 
 tv_l2tpv2_seession_id_mac_ipv4_l2tpv2_control = {
@@ -80,7 +80,7 @@ vectors_mac_ipv4_l2tpv2_control = [
     tv_l2tpv2_seession_id_mac_ipv4_l2tpv2_control,
     tv_eth_l2_src_only_mac_ipv4_l2tpv2_control,
 ]
-                        
+
 tv_l2tpv2_seession_id_mac_ipv6_l2tpv2_control = {
     "name": "l2tpv2_seession_id_mac_ipv6_l2tpv2_control",
     "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type control session_id is 0x1111 / end actions queue index 3 / end",
@@ -113,7 +113,10 @@ tv_eth_l2_src_only_mac_ipv6_l2tpv2_control = {
     "check_param": {"port_id": 0, "drop": 1},
 }
 
-vectors_mac_ipv6_l2tpv2_control = [tv_l2tpv2_seession_id_mac_ipv6_l2tpv2_control,tv_eth_l2_src_only_mac_ipv6_l2tpv2_control]
+vectors_mac_ipv6_l2tpv2_control = [
+    tv_l2tpv2_seession_id_mac_ipv6_l2tpv2_control,
+    tv_eth_l2_src_only_mac_ipv6_l2tpv2_control,
+]
 
 tv_l2tpv2_seession_id_mac_ipv4_l2tpv2_data = {
     "name": "l2tpv2_seession_id_mac_ipv4_l2tpv2_data",
@@ -1609,7 +1612,7 @@ tv_ipv4_tcp_mac_ipv6_pppol2tpv2_ipv4_tcp_data_o = {
         "match": [
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,offset=6)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="10.0.0.22")/TCP(sport=11)',
             'Ether(src="00:00:00:00:00:01")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,offset=6)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="10.0.0.22")/TCP(sport=11)',
-            ],
+        ],
         "mismatch": [
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,offset=6)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="10.0.0.22")/TCP(sport=10)',
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x020,offset=6)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="10.0.0.20")/TCP(sport=11)',
@@ -1744,7 +1747,7 @@ tv_ipv6_udp_mac_ipv6_pppol2tpv2_ipv6_udp_pay_data = {
         "match": [
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=11)',
             'Ether(src="00:00:00:00:00:01")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=11)',
-            ],
+        ],
         "mismatch": [
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=10)',
             'Ether(src="11:22:33:44:55:77")/IPv6()/UDP(dport=1701)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=11)',
@@ -1829,7 +1832,7 @@ vectors_mac_ipv6_pppol2tpv2_ipv6_udp_pay = [
     tv_ipv6_udp_mac_ipv6_pppol2tpv2_ipv6_udp_pay_data_o,
     tv_ipv6_udp_mac_ipv6_pppol2tpv2_ipv6_udp_pay_data_l_s,
 ]
-         
+
 tv_ipv6_tcp_mac_ipv6_pppol2tpv2_ipv6_tcp_data = {
     "name": "ipv6_tcp_mac_ipv6_pppol2tpv2_ipv6_tcp_data",
     "rule": "flow create 0 ingress pattern eth / ipv6 / udp / l2tpv2 type data / ppp / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 11 / end actions queue index 3 / end",
@@ -1923,8 +1926,8 @@ vectors_mac_ipv6_pppol2tpv2_ipv6_tcp = [
     tv_ipv6_tcp_mac_ipv6_pppol2tpv2_ipv6_tcp_data_l_s,
 ]
 
-class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
 
+class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
     def rte_flow_process(self, vectors):
         test_results = {}
         for tv in vectors:
@@ -1941,15 +1944,15 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
                 # send and check match packets
                 out1 = self.send_pkts_getouput(pkts=tv["scapy_str"]["match"])
                 rfc.check_iavf_fdir_mark(
-                    out1, 
-                    pkt_num=len(tv["scapy_str"]["match"]), 
+                    out1,
+                    pkt_num=len(tv["scapy_str"]["match"]),
                     check_param=tv["check_param"],
                 )
                 # send and check mismatch packets
                 out2 = self.send_pkts_getouput(pkts=tv["scapy_str"]["mismatch"])
                 rfc.check_iavf_fdir_mark(
-                    out2, 
-                    pkt_num=len(tv["scapy_str"]["mismatch"]), 
+                    out2,
+                    pkt_num=len(tv["scapy_str"]["mismatch"]),
                     check_param=tv["check_param"],
                     stats=False,
                 )
@@ -1960,7 +1963,7 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
                 out3 = self.send_pkts_getouput(pkts=tv["scapy_str"]["match"])
                 rfc.check_iavf_fdir_mark(
                     out3,
-                    pkt_num=len(tv["scapy_str"]["match"]), 
+                    pkt_num=len(tv["scapy_str"]["match"]),
                     check_param=tv["check_param"],
                     stats=False,
                 )
@@ -1992,17 +1995,19 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
         self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
         self.tester_port0 = self.tester.get_local_port(self.dut_ports[0])
         self.tester_iface0 = self.tester.get_interface(self.tester_port0)
-        self.pci0 = self.dut.ports_info[self.dut_ports[0]]['pci']
-        self.pf0_intf = self.dut.ports_info[self.dut_ports[0]]['intf']
+        self.pci0 = self.dut.ports_info[self.dut_ports[0]]["pci"]
+        self.pf0_intf = self.dut.ports_info[self.dut_ports[0]]["intf"]
 
-        self.vf_driver = self.get_suite_cfg()['vf_driver']
+        self.vf_driver = self.get_suite_cfg()["vf_driver"]
         if self.vf_driver is None:
-            self.vf_driver = 'vfio-pci'
+            self.vf_driver = "vfio-pci"
         self.used_dut_port_0 = self.dut_ports[0]
-        self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 1, driver=self.kdriver)
-        self.sriov_vfs_port = self.dut.ports_info[self.used_dut_port_0]['vfs_port']
+        self.dut.generate_sriov_vfs_by_port(
+            self.used_dut_port_0, 1, driver=self.kdriver
+        )
+        self.sriov_vfs_port = self.dut.ports_info[self.used_dut_port_0]["vfs_port"]
         self.dut.send_expect(
-            'ip link set %s vf 0 mac 00:11:22:33:44:55' % self.pf0_intf, '#'
+            "ip link set %s vf 0 mac 00:11:22:33:44:55" % self.pf0_intf, "#"
         )
         self.vf0_pci = self.sriov_vfs_port[0].pci
         for port in self.sriov_vfs_port:
@@ -2029,14 +2034,14 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
         )
         self.pmd_output.execute_cmd("set fwd rxonly")
         self.pmd_output.execute_cmd("set verbose 1")
-        res = self.pmd_output.wait_link_status_up('all', timeout=15)
-        self.verify(res is True, 'there have port link is down')
-   
+        res = self.pmd_output.wait_link_status_up("all", timeout=15)
+        self.verify(res is True, "there have port link is down")
+
     def send_packets(self, packets, pf_id=0, count=1):
         self.pkt.update_pkt(packets)
         tx_port = self.tester_iface0
         self.pkt.send_pkt(crb=self.tester, tx_port=tx_port, count=count)
-   
+
     def send_pkts_getouput(self, pkts, pf_id=0, count=1):
         """
         if pkt_info is True, we need to get packet infomation to check the RSS hash and FDIR.
@@ -2075,13 +2080,15 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
             raise Exception("unsupported rule type, only accept list or str")
         if check_stats:
             self.verify(
-                all(rule_list), "some rules validate failed, result %s" % rule_list,
+                all(rule_list),
+                "some rules validate failed, result %s" % rule_list,
             )
         elif check_stats == False:
             self.verify(
-                not any(rule_list), "all rules should validate failed, result %s" % rule_list,
+                not any(rule_list),
+                "all rules should validate failed, result %s" % rule_list,
             )
- 
+
     def create_fdir_rule(self, rule, check_stats=None):
         p = re.compile(r"Flow rule #(\d+) created")
         rule_list = []
@@ -2104,14 +2111,16 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
             raise Exception("unsupported rule type, only accept list or str")
         if check_stats:
             self.verify(
-                all(rule_list), "some rules create failed, result %s" % rule_list,
+                all(rule_list),
+                "some rules create failed, result %s" % rule_list,
             )
         elif check_stats == False:
             self.verify(
-                not any(rule_list), "all rules should create failed, result %s" % rule_list,
+                not any(rule_list),
+                "all rules should create failed, result %s" % rule_list,
             )
-        return rule_list     
-   
+        return rule_list
+
     def destroy_fdir_rule(self, rule_id, port_id=0):
         if isinstance(rule_id, list):
             for i in rule_id:
@@ -2141,12 +2150,12 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
                 result = [i.group(1) for i in res]
                 self.verify(
                     sorted(result) == sorted(rule_list),
-                    "check rule list failed. expect %s, result %s" 
+                    "check rule list failed. expect %s, result %s"
                     % (rule_list, result),
                 )
         else:
             self.verify(not p.search(out), "flow rule on port %s is existed" % port_id)
-    
+
     def destroy_vf(self):
         self.dut.send_expect("quit", "# ", 60)
         time.sleep(2)
@@ -2154,10 +2163,10 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
 
     def test_mac_ipv4_l2tpv2_control(self):
         self.rte_flow_process(vectors_mac_ipv4_l2tpv2_control)
-    
+
     def test_mac_ipv6_l2tpv2_control(self):
         self.rte_flow_process(vectors_mac_ipv6_l2tpv2_control)
-    
+
     def test_mac_ipv4_l2tpv2(self):
         self.rte_flow_process(vectors_mac_ipv4_l2tpv2)
 
@@ -2172,16 +2181,16 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
 
     def test_mac_ipv4_pppol2tpv2_ipv4_pay(self):
         self.rte_flow_process(vectors_mac_ipv4_pppol2tpv2_ipv4_pay)
-   
+
     def test_mac_ipv4_pppol2tpv2_ipv4_udp_pay(self):
         self.rte_flow_process(vectors_mac_ipv4_pppol2tpv2_ipv4_udp_pay)
-    
+
     def test_mac_ipv4_pppol2tpv2_ipv4_tcp(self):
         self.rte_flow_process(vectors_mac_ipv4_pppol2tpv2_ipv4_tcp)
 
     def test_mac_ipv4_pppol2tpv2_ipv6_pay(self):
         self.rte_flow_process(vectors_mac_ipv4_pppol2tpv2_ipv6_pay)
-    
+
     def test_mac_ipv4_pppol2tpv2_ipv6_udp_pay(self):
         self.rte_flow_process(vectors_mac_ipv4_pppol2tpv2_ipv6_udp_pay)
 
@@ -2215,4 +2224,3 @@ class TestCVLIAVFFDIRPPPoL2TPv2oUDP(TestCase):
     def tear_down_all(self):
         self.destroy_vf()
         self.dut.kill_all()
-
diff --git a/tests/TestSuite_ddp_gtp.py b/tests/TestSuite_ddp_gtp.py
index 7b1b4f81..b7d08d12 100644
--- a/tests/TestSuite_ddp_gtp.py
+++ b/tests/TestSuite_ddp_gtp.py
@@ -35,8 +35,8 @@ import time
 
 import framework.utils as utils
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_ddp_mpls.py b/tests/TestSuite_ddp_mpls.py
index 0ab4cb6c..867bf2bf 100644
--- a/tests/TestSuite_ddp_mpls.py
+++ b/tests/TestSuite_ddp_mpls.py
@@ -33,8 +33,8 @@ import random
 import time
 
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 VM_CORES_MASK = "all"
 PF_MAX_QUEUE = 64
diff --git a/tests/TestSuite_eeprom_dump.py b/tests/TestSuite_eeprom_dump.py
index dc665219..c1a5b4ea 100644
--- a/tests/TestSuite_eeprom_dump.py
+++ b/tests/TestSuite_eeprom_dump.py
@@ -74,14 +74,14 @@ class TestEEPROMDump(TestCase):
         # if nic is columbiaville, eeprom_dump get testpmd output of the first 1000 lines,
         # module_eeprom_dump get testpmd output of the first 16 lines.
         if self.nic in ["columbiaville_25g", "columbiaville_100g"]:
-            if  testname == "eeprom":
+            if testname == "eeprom":
                 count = 1000
             elif testname == "module_eeprom":
                 count = 16
-            n=0
+            n = 0
             # Get testpmd output to have only hex value
             for line in re.findall(regex, get):
-                n= n+1
+                n = n + 1
                 if n <= count:
                     line = line.replace(" ", "").lower()
                     self.dut.send_expect(f"echo {line} >> {to}", "#")
@@ -98,7 +98,9 @@ class TestEEPROMDump(TestCase):
 
         for port in self.ports:
             # show port {port} eeprom has 10485760 bytes, and it takes about 13 minutes to show finish.
-            pmdout = self.dut.send_expect(f"show port {port} {testname}", "testpmd>", timeout=800)
+            pmdout = self.dut.send_expect(
+                f"show port {port} {testname}", "testpmd>", timeout=800
+            )
             self.verify("Finish --" in pmdout, f"{testname} dump failed")
 
             # get length from testpmd outout
diff --git a/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py b/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
index 2fa2974f..c51dbfe8 100644
--- a/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
+++ b/tests/TestSuite_ixgbe_vf_get_extra_queue_information.py
@@ -36,11 +36,11 @@ Test Niantic ixgbe_get_vf_queue Include Extra Information function.
 import time
 
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 
 # Use scapy to send packets with different source and dest ip.
 # and collect the hash result of five tuple and the queue id.
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 
 class TestIxgbeVfGetExtraInfo(TestCase):
diff --git a/tests/TestSuite_power_bidirection_channel.py b/tests/TestSuite_power_bidirection_channel.py
index b8a5e028..f75d3abc 100644
--- a/tests/TestSuite_power_bidirection_channel.py
+++ b/tests/TestSuite_power_bidirection_channel.py
@@ -38,9 +38,9 @@ import time
 import traceback
 
 from framework.exception import VerifyFailure
-from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
 from framework.utils import create_mask as dts_create_mask
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 
 
 class TestPowerBidirectionChannel(TestCase):
diff --git a/tests/TestSuite_power_negative.py b/tests/TestSuite_power_negative.py
index 2d98d8a6..c14f0b58 100644
--- a/tests/TestSuite_power_negative.py
+++ b/tests/TestSuite_power_negative.py
@@ -37,8 +37,8 @@ power negative test suite.
 import os
 import time
 
-from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 
 
 class TestPowerNegative(TestCase):
diff --git a/tests/TestSuite_rte_flow.py b/tests/TestSuite_rte_flow.py
index 237a2559..566759e1 100644
--- a/tests/TestSuite_rte_flow.py
+++ b/tests/TestSuite_rte_flow.py
@@ -36,9 +36,9 @@ MTU Checks example.
 """
 from typing import Callable
 
-from tests.util.flow import generator
 from framework.pmd_output import PmdOutput
 from framework.test_case import TestCase
+from tests.util.flow import generator
 
 
 class RteFlow(TestCase):
diff --git a/tests/TestSuite_runtime_vf_queue_number.py b/tests/TestSuite_runtime_vf_queue_number.py
index 99af8710..5d882e41 100644
--- a/tests/TestSuite_runtime_vf_queue_number.py
+++ b/tests/TestSuite_runtime_vf_queue_number.py
@@ -39,8 +39,8 @@ import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 RSS_KEY = "6EA6A420D5138E712433B813AE45B3C4BECB2B405F31AD6C331835372D15E2D5E49566EE0ED1962AFA1B7932F3549520FD71C75E"
 PACKET_COUNT = 100
diff --git a/tests/TestSuite_shutdown_api.py b/tests/TestSuite_shutdown_api.py
index 9248447a..56361665 100644
--- a/tests/TestSuite_shutdown_api.py
+++ b/tests/TestSuite_shutdown_api.py
@@ -43,9 +43,9 @@ from random import randint
 import framework.utils as utils
 from framework.exception import VerifyFailure
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.settings import DRIVERS, HEADER_SIZE
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 #
 #
diff --git a/tests/TestSuite_unit_tests_cmdline.py b/tests/TestSuite_unit_tests_cmdline.py
index a1ff4d3d..20bde65e 100644
--- a/tests/TestSuite_unit_tests_cmdline.py
+++ b/tests/TestSuite_unit_tests_cmdline.py
@@ -59,7 +59,9 @@ class TestUnitTestsCmdline(TestCase):
         """
         # icc compilation cost long long time.
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_crc.py b/tests/TestSuite_unit_tests_crc.py
index b3ba6af2..84ec1dff 100644
--- a/tests/TestSuite_unit_tests_crc.py
+++ b/tests/TestSuite_unit_tests_crc.py
@@ -57,7 +57,9 @@ class TestUnitTestsCrc(TestCase):
         Run at the start of each test suite.
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_cryptodev_func.py b/tests/TestSuite_unit_tests_cryptodev_func.py
index 7290c9ef..bd289fdb 100644
--- a/tests/TestSuite_unit_tests_cryptodev_func.py
+++ b/tests/TestSuite_unit_tests_cryptodev_func.py
@@ -40,7 +40,9 @@ class UnitTestsCryptodev(TestCase):
     def set_up_all(self):
         self._app_path = self.dut.apps_name["test"]
         cc.bind_qat_device(self, "vfio-pci")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         pass
diff --git a/tests/TestSuite_unit_tests_dump.py b/tests/TestSuite_unit_tests_dump.py
index bebb92de..5e288be3 100644
--- a/tests/TestSuite_unit_tests_dump.py
+++ b/tests/TestSuite_unit_tests_dump.py
@@ -66,7 +66,9 @@ class TestUnitTestsDump(TestCase):
         self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing")
         self.start_test_time = 60
         self.run_cmd_time = 60
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_eal.py b/tests/TestSuite_unit_tests_eal.py
index 9c775535..52938b5e 100644
--- a/tests/TestSuite_unit_tests_eal.py
+++ b/tests/TestSuite_unit_tests_eal.py
@@ -65,7 +65,9 @@ class TestUnitTestsEal(TestCase):
         eal_params = self.dut.create_eal_parameters(cores=default_cores)
         app_name = self.dut.apps_name["test"]
         self.test_app_cmdline = app_name + eal_params
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_event_timer.py b/tests/TestSuite_unit_tests_event_timer.py
index c1498082..d3e07191 100644
--- a/tests/TestSuite_unit_tests_event_timer.py
+++ b/tests/TestSuite_unit_tests_event_timer.py
@@ -66,7 +66,9 @@ class TestUnitTestEventTimer(TestCase):
             self.eventdev_timer_device_bus_id = "0000:0a:01.0"
             self.dut.bind_eventdev_port(port_to_bind=self.eventdev_timer_device_bus_id)
 
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_kni.py b/tests/TestSuite_unit_tests_kni.py
index c076ac26..5c925546 100644
--- a/tests/TestSuite_unit_tests_kni.py
+++ b/tests/TestSuite_unit_tests_kni.py
@@ -64,7 +64,9 @@ class TestUnitTestsKni(TestCase):
 
         self.verify("Error" not in out, "Error loading KNI module: " + out)
 
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     #
     #
diff --git a/tests/TestSuite_unit_tests_loopback.py b/tests/TestSuite_unit_tests_loopback.py
index 8ced8979..0fd935d1 100644
--- a/tests/TestSuite_unit_tests_loopback.py
+++ b/tests/TestSuite_unit_tests_loopback.py
@@ -82,7 +82,9 @@ class TestUnitTestsLoopback(TestCase):
         self.tmp_path = "/tmp/test_pmd_perf.c"
         self.dut.send_expect("rm -fr %s" % self.tmp_path, "# ")
         self.dut.send_expect("cp app/test/test_pmd_perf.c %s" % self.tmp_path, "# ")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_lpm.py b/tests/TestSuite_unit_tests_lpm.py
index bc8b85ac..5e46dbe9 100644
--- a/tests/TestSuite_unit_tests_lpm.py
+++ b/tests/TestSuite_unit_tests_lpm.py
@@ -61,7 +61,9 @@ class TestUnitTestsLpmIpv6(TestCase):
         Qos Prerequisites
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_mbuf.py b/tests/TestSuite_unit_tests_mbuf.py
index 938dafca..62a21c9e 100644
--- a/tests/TestSuite_unit_tests_mbuf.py
+++ b/tests/TestSuite_unit_tests_mbuf.py
@@ -58,7 +58,9 @@ class TestUnitTestsMbuf(TestCase):
         Run at the start of each test suite.
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_mempool.py b/tests/TestSuite_unit_tests_mempool.py
index 90f381a8..cd68f29c 100644
--- a/tests/TestSuite_unit_tests_mempool.py
+++ b/tests/TestSuite_unit_tests_mempool.py
@@ -58,7 +58,9 @@ class TestUnitTestsMempool(TestCase):
         Run at the start of each test suite.
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_pmd_perf.py b/tests/TestSuite_unit_tests_pmd_perf.py
index 2cb57131..ee90f4dc 100644
--- a/tests/TestSuite_unit_tests_pmd_perf.py
+++ b/tests/TestSuite_unit_tests_pmd_perf.py
@@ -71,7 +71,9 @@ class TestUnitTestsPmdPerf(TestCase):
         self.anchors = ["rxtx", "rxonly", "txonly"]
         socket_id = self.dut.ports_info[0]["port"].socket
         self.cores = self.dut.get_core_list(config="1S/4C/1T", socket=socket_id)
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_power.py b/tests/TestSuite_unit_tests_power.py
index ebe4b7c1..cce6e26a 100644
--- a/tests/TestSuite_unit_tests_power.py
+++ b/tests/TestSuite_unit_tests_power.py
@@ -59,7 +59,9 @@ class TestUnitTestsPower(TestCase):
         Power Prerequisites
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_qos.py b/tests/TestSuite_unit_tests_qos.py
index 57e8b076..e8bb0743 100644
--- a/tests/TestSuite_unit_tests_qos.py
+++ b/tests/TestSuite_unit_tests_qos.py
@@ -60,7 +60,9 @@ class TestUnitTestsQos(TestCase):
         QoS Prerequisites
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_ring.py b/tests/TestSuite_unit_tests_ring.py
index 9f448081..6c633223 100644
--- a/tests/TestSuite_unit_tests_ring.py
+++ b/tests/TestSuite_unit_tests_ring.py
@@ -58,7 +58,9 @@ class TestUnitTestsRing(TestCase):
         Run at the start of each test suite.
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_ringpmd.py b/tests/TestSuite_unit_tests_ringpmd.py
index 7247d826..4befbc40 100644
--- a/tests/TestSuite_unit_tests_ringpmd.py
+++ b/tests/TestSuite_unit_tests_ringpmd.py
@@ -59,7 +59,9 @@ class TestUnitTestsRingPmd(TestCase):
         Nothing to do here.
         """
         self.cores = self.dut.get_core_list("all")
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_unit_tests_timer.py b/tests/TestSuite_unit_tests_timer.py
index 3a8d12d2..9d19f8c9 100644
--- a/tests/TestSuite_unit_tests_timer.py
+++ b/tests/TestSuite_unit_tests_timer.py
@@ -65,7 +65,9 @@ class TestUnitTestsTimer(TestCase):
         self.this_timeout = 60
         if len(self.cores) > 16:
             self.this_timeout = self.this_timeout * len(self.cores) / 16
-        self.logger.warning(f"Test Suite {self.__name__} is deprecated and will be removed in the next release")
+        self.logger.warning(
+            f"Test Suite {self.__name__} is deprecated and will be removed in the next release"
+        )
 
     def set_up(self):
         """
diff --git a/tests/TestSuite_vf_daemon.py b/tests/TestSuite_vf_daemon.py
index 1f119adf..6265a601 100644
--- a/tests/TestSuite_vf_daemon.py
+++ b/tests/TestSuite_vf_daemon.py
@@ -34,8 +34,8 @@ import time
 
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 VM_CORES_MASK = "all"
 MAX_VLAN = 4095
diff --git a/tests/TestSuite_vf_kernel.py b/tests/TestSuite_vf_kernel.py
index 755f5741..5b3eaf89 100755
--- a/tests/TestSuite_vf_kernel.py
+++ b/tests/TestSuite_vf_kernel.py
@@ -44,9 +44,9 @@ import time
 import framework.utils as utils
 from framework.packet import Packet
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
 from framework.utils import GREEN
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 
 class TestVfKernel(TestCase):
diff --git a/tests/TestSuite_virtio_ipsec_cryptodev_func.py b/tests/TestSuite_virtio_ipsec_cryptodev_func.py
index 00dc7558..9b5556cd 100644
--- a/tests/TestSuite_virtio_ipsec_cryptodev_func.py
+++ b/tests/TestSuite_virtio_ipsec_cryptodev_func.py
@@ -37,8 +37,8 @@ import binascii
 import framework.utils as utils
 import tests.cryptodev_common as cc
 from framework.packet import Packet
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 
 class VirtioCryptodevIpsecTest(TestCase):
diff --git a/tests/TestSuite_virtio_perf_cryptodev_func.py b/tests/TestSuite_virtio_perf_cryptodev_func.py
index d89cb024..27418037 100644
--- a/tests/TestSuite_virtio_perf_cryptodev_func.py
+++ b/tests/TestSuite_virtio_perf_cryptodev_func.py
@@ -34,8 +34,8 @@ Test DPDK vhost + virtio scenarios
 """
 
 import tests.cryptodev_common as cc
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 
 class VirtioCryptodevPerfTest(TestCase):
diff --git a/tests/TestSuite_virtio_unit_cryptodev_func.py b/tests/TestSuite_virtio_unit_cryptodev_func.py
index 08cd03e3..28700354 100644
--- a/tests/TestSuite_virtio_unit_cryptodev_func.py
+++ b/tests/TestSuite_virtio_unit_cryptodev_func.py
@@ -35,8 +35,8 @@ Test DPDK vhost + virtio scenarios
 """
 
 import tests.cryptodev_common as cc
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 
 class VirtioCryptodevUnitTest(TestCase):
diff --git a/tests/TestSuite_vm_hotplug.py b/tests/TestSuite_vm_hotplug.py
index b96d780c..5ff69cf0 100644
--- a/tests/TestSuite_vm_hotplug.py
+++ b/tests/TestSuite_vm_hotplug.py
@@ -41,8 +41,8 @@ import re
 import time
 
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 VM_CORES_MASK = "all"
 
diff --git a/tests/TestSuite_vm_power_manager.py b/tests/TestSuite_vm_power_manager.py
index 2c6a37bc..bc4fb366 100644
--- a/tests/TestSuite_vm_power_manager.py
+++ b/tests/TestSuite_vm_power_manager.py
@@ -37,8 +37,8 @@ VM power manager test suite.
 import re
 
 import framework.utils as utils
-from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 
 
 class TestVmPowerManager(TestCase):
diff --git a/tests/TestSuite_vm_pw_mgmt_policy.py b/tests/TestSuite_vm_pw_mgmt_policy.py
index 0f43f289..1710f619 100644
--- a/tests/TestSuite_vm_pw_mgmt_policy.py
+++ b/tests/TestSuite_vm_pw_mgmt_policy.py
@@ -47,9 +47,9 @@ from framework.exception import VerifyFailure
 from framework.packet import Packet
 from framework.pktgen import TRANSMIT_CONT
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_libvirt import LibvirtKvm
 from framework.test_case import TestCase
 from framework.utils import create_mask as dts_create_mask
+from tests.util.virt.qemu_libvirt import LibvirtKvm
 
 
 class TestVmPwMgmtPolicy(TestCase):
diff --git a/tests/util/__init__.py b/tests/util/__init__.py
index 93e83aee..4ad62931 100644
--- a/tests/util/__init__.py
+++ b/tests/util/__init__.py
@@ -1,2 +1,2 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
+# Copyright(c) 2022 University of New Hampshire
diff --git a/tests/util/flow/__init__.py b/tests/util/flow/__init__.py
index 93e83aee..4ad62931 100644
--- a/tests/util/flow/__init__.py
+++ b/tests/util/flow/__init__.py
@@ -1,2 +1,2 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
+# Copyright(c) 2022 University of New Hampshire
diff --git a/tests/util/virt/__init__.py b/tests/util/virt/__init__.py
index 93e83aee..4ad62931 100644
--- a/tests/util/virt/__init__.py
+++ b/tests/util/virt/__init__.py
@@ -1,2 +1,2 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2022 University of New Hampshire
\ No newline at end of file
+# Copyright(c) 2022 University of New Hampshire
diff --git a/tests/util/virt/qemu_kvm.py b/tests/util/virt/qemu_kvm.py
index c6db1bb7..57285b2a 100644
--- a/tests/util/virt/qemu_kvm.py
+++ b/tests/util/virt/qemu_kvm.py
@@ -37,7 +37,13 @@ import time
 from framework.exception import StartVMFailedException
 from framework.settings import get_host_ip
 from framework.utils import RED, parallel_lock
-from tests.util.virt.virt_base import ST_NOTSTART, ST_PAUSE, ST_RUNNING, ST_UNKNOWN, VirtBase
+from tests.util.virt.virt_base import (
+    ST_NOTSTART,
+    ST_PAUSE,
+    ST_RUNNING,
+    ST_UNKNOWN,
+    VirtBase,
+)
 
 # This name is directly defined in the qemu guest service
 # So you can not change it except it is changed by the service
diff --git a/tests/util/virt/virt_base.py b/tests/util/virt/virt_base.py
index 4cc64565..9617fe1f 100644
--- a/tests/util/virt/virt_base.py
+++ b/tests/util/virt/virt_base.py
@@ -36,11 +36,11 @@ from random import randint
 
 import framework.exception as exception
 import framework.utils as utils
-
 from framework.config import VIRTCONF, VirtConf
 from framework.dut import Dut
 from framework.logger import getLogger
 from framework.settings import CONFIG_ROOT_PATH
+
 from .virt_dut import VirtDut
 
 ST_NOTSTART = "NOTSTART"
diff --git a/tests/util/virt/virt_common.py b/tests/util/virt/virt_common.py
index a0057ded..7fbd5583 100644
--- a/tests/util/virt/virt_common.py
+++ b/tests/util/virt/virt_common.py
@@ -31,9 +31,9 @@
 import os
 
 from framework.config import VirtConf
+from framework.settings import CONFIG_ROOT_PATH
 from tests.util.virt.qemu_kvm import QEMUKvm
 from tests.util.virt.qemu_libvirt import LibvirtKvm
-from framework.settings import CONFIG_ROOT_PATH
 
 
 def VM(dut, vm_name, suite_name):
diff --git a/tests/util/virt/virt_dut.py b/tests/util/virt/virt_dut.py
index 8bbec12c..85c30390 100644
--- a/tests/util/virt/virt_dut.py
+++ b/tests/util/virt/virt_dut.py
@@ -34,13 +34,12 @@ import re
 import time
 
 import framework.settings as settings
-from nics.net_device import GetNicObj, RemoveNicObj
-
 from framework.config import AppNameConf, PortConf
 from framework.dut import Dut
 from framework.project_dpdk import DPDKdut
 from framework.settings import LOG_NAME_SEP, NICS, get_netdev, load_global_setting
 from framework.utils import RED, parallel_lock
+from nics.net_device import GetNicObj, RemoveNicObj
 
 
 class VirtDut(DPDKdut):
diff --git a/tests/util/virt/virt_scene.py b/tests/util/virt/virt_scene.py
index 7dc7d45e..29b6625a 100644
--- a/tests/util/virt/virt_scene.py
+++ b/tests/util/virt/virt_scene.py
@@ -30,13 +30,12 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import framework.utils as utils
-
 from framework.config import VirtConf
 from framework.exception import *
 from framework.pmd_output import PmdOutput
-from tests.util.virt.qemu_kvm import QEMUKvm
 from framework.settings import CONFIG_ROOT_PATH, get_netdev
 from framework.utils import create_mask
+from tests.util.virt.qemu_kvm import QEMUKvm
 
 # scenario module for handling scenario
 # 1. load configurations
-- 
2.30.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v3 1/3] framework: Move test-specific files to test directory
  2022-04-13 14:54 [PATCH v3 1/3] framework: Move test-specific files to test directory ohilyard
  2022-04-13 14:54 ` [PATCH v3 2/3] update files depending on tests/util ohilyard
  2022-04-13 14:54 ` [PATCH v3 3/3] all: ran formatter ohilyard
@ 2022-04-14  5:39 ` Juraj Linkeš
  2 siblings, 0 replies; 7+ messages in thread
From: Juraj Linkeš @ 2022-04-14  5:39 UTC (permalink / raw)
  To: ohilyard, dts; +Cc: lijuan.tu

> Subject: [PATCH v3 1/3] framework: Move test-specific files to test directory
> 
> From: Owen Hilyard <ohilyard@iol.unh.edu>
> 
> The DTS Improvement Working Group decided to move files specific to a single
> test or a small group of tests into tests/util. This is done in order to aid in the
> organization of DTS.
> 
> Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu>
> ---
>  framework/flow/__init__.py                           |  0
>  framework/virt_resource.py                           |  2 +-
>  tests/data/__init__.py                               |  2 ++
>  tests/util/__init__.py                               |  2 ++
>  tests/util/flow/__init__.py                          |  2 ++
>  {framework => tests/util}/flow/enums.py              |  0
>  {framework => tests/util}/flow/exceptions.py         |  0
>  {framework => tests/util}/flow/flow.py               |  0
>  {framework => tests/util}/flow/flow_action_items.py  |  0
>  {framework => tests/util}/flow/flow_items.py         |  8 +++-----
>  {framework => tests/util}/flow/flow_pattern_items.py |  0
>  {framework => tests/util}/flow/flow_rule.py          |  2 +-
>  {framework => tests/util}/flow/generator.py          |  0
>  tests/util/virt/__init__.py                          |  2 ++
>  {framework => tests/util/virt}/virt_base.py          |  8 ++++----
>  {framework => tests/util/virt}/virt_common.py        |  8 ++++----
>  {framework => tests/util/virt}/virt_dut.py           | 10 +++++-----
>  {framework => tests/util/virt}/virt_scene.py         | 12 ++++++------

Looks like you didn't move the qemu files.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v3 2/3] update files depending on tests/util
  2022-04-13 14:54 ` [PATCH v3 2/3] update files depending on tests/util ohilyard
@ 2022-04-14  5:40   ` Juraj Linkeš
  2022-04-14 19:53     ` Owen Hilyard
  0 siblings, 1 reply; 7+ messages in thread
From: Juraj Linkeš @ 2022-04-14  5:40 UTC (permalink / raw)
  To: ohilyard, dts; +Cc: lijuan.tu


> diff --git a/framework/dut.py b/framework/dut.py index 6a8fc957..83f0d7a2
> 100644
> --- a/framework/dut.py
> +++ b/framework/dut.py
> @@ -46,7 +46,7 @@ from .settings import LOG_NAME_SEP, NICS  from
> .ssh_connection import SSHConnection  from .test_result import ResultTable
> from .utils import RED, remove_old_rsa_key -from .virt_resource import
> VirtResource
> +from framework.virt_resource import VirtResource

And this also didn't get addressed, I guess you just added the commit in v3.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 2/3] update files depending on tests/util
  2022-04-14  5:40   ` Juraj Linkeš
@ 2022-04-14 19:53     ` Owen Hilyard
  2022-04-20  8:45       ` Juraj Linkeš
  0 siblings, 1 reply; 7+ messages in thread
From: Owen Hilyard @ 2022-04-14 19:53 UTC (permalink / raw)
  To: Juraj Linkeš; +Cc: dts, lijuan.tu

[-- Attachment #1: Type: text/plain, Size: 1471 bytes --]

I moved the files over and ran the formatter, which produced a diff large
enough that the mailing list rejected it when I bundled it with the first
commit. I could split things up more, but that would lead to an extra 2 or
3 patches in this series that contain formatting unrelated to the problem,
simply because unformatted patches are getting merged. I hadn't anticipated
needing granularity in the formatter because nothing except what you just
worked on was supposed to be changing when you ran it, and the tools we're
using don't support parts of a file.

I don't want to have to keep submitting "ran the formatter" patches every
week or two, since that will lead to a very messy git history.  I could
submit one more and rebase this series on top of it, which would let me
send it in as two organized commits. Thoughts?

On Thu, Apr 14, 2022 at 1:40 AM Juraj Linkeš <juraj.linkes@pantheon.tech>
wrote:

>
> > diff --git a/framework/dut.py b/framework/dut.py index 6a8fc957..83f0d7a2
> > 100644
> > --- a/framework/dut.py
> > +++ b/framework/dut.py
> > @@ -46,7 +46,7 @@ from .settings import LOG_NAME_SEP, NICS  from
> > .ssh_connection import SSHConnection  from .test_result import
> ResultTable
> > from .utils import RED, remove_old_rsa_key -from .virt_resource import
> > VirtResource
> > +from framework.virt_resource import VirtResource
>
> And this also didn't get addressed, I guess you just added the commit in
> v3.
>
>

[-- Attachment #2: Type: text/html, Size: 1799 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH v3 2/3] update files depending on tests/util
  2022-04-14 19:53     ` Owen Hilyard
@ 2022-04-20  8:45       ` Juraj Linkeš
  0 siblings, 0 replies; 7+ messages in thread
From: Juraj Linkeš @ 2022-04-20  8:45 UTC (permalink / raw)
  To: Owen Hilyard; +Cc: dts, lijuan.tu

[-- Attachment #1: Type: text/plain, Size: 2436 bytes --]



From: Owen Hilyard <ohilyard@iol.unh.edu>
Sent: Thursday, April 14, 2022 9:54 PM
To: Juraj Linkeš <juraj.linkes@pantheon.tech>
Cc: dts@dpdk.org; lijuan.tu@intel.com
Subject: Re: [PATCH v3 2/3] update files depending on tests/util

I moved the files over and ran the formatter, which produced a diff large enough that the mailing list rejected it when I bundled it with the first commit. I could split things up more, but that would lead to an extra 2 or 3 patches in this series that contain formatting unrelated to the problem, simply because unformatted patches are getting merged. I hadn't anticipated needing granularity in the formatter because nothing except what you just worked on was supposed to be changing when you ran it, and the tools we're using don't support parts of a file.

[Juraj] Well you could've just changed this one thing manually. The formatting of whole files shouldn't be done here.

I don't want to have to keep submitting "ran the formatter" patches every week or two, since that will lead to a very messy git history.  I could submit one more and rebase this series on top of it, which would let me send it in as two organized commits. Thoughts?

[Juraj] What we should do is have a system that prevents unformatted files from being accepted (I understand we formatted the  and now they're improperly formatted - that shouldn't happen, although that could be because Lijian ran format.sh without pylama config?). A CI check which we're working on is sufficient with maintainers adhering to it (i.e. notifing authors that it's indeed necessary to properly format their submissions). Once we have the CI check, only then it makes sense to reformat everything. After that, we should notify the authors of patches in review to rebase and reformat their patches.

On Thu, Apr 14, 2022 at 1:40 AM Juraj Linkeš <juraj.linkes@pantheon.tech<mailto:juraj.linkes@pantheon.tech>> wrote:

> diff --git a/framework/dut.py b/framework/dut.py index 6a8fc957..83f0d7a2
> 100644
> --- a/framework/dut.py
> +++ b/framework/dut.py
> @@ -46,7 +46,7 @@ from .settings import LOG_NAME_SEP, NICS  from
> .ssh_connection import SSHConnection  from .test_result import ResultTable
> from .utils import RED, remove_old_rsa_key -from .virt_resource import
> VirtResource
> +from framework.virt_resource import VirtResource

And this also didn't get addressed, I guess you just added the commit in v3.

[-- Attachment #2: Type: text/html, Size: 6375 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-04-20  8:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-13 14:54 [PATCH v3 1/3] framework: Move test-specific files to test directory ohilyard
2022-04-13 14:54 ` [PATCH v3 2/3] update files depending on tests/util ohilyard
2022-04-14  5:40   ` Juraj Linkeš
2022-04-14 19:53     ` Owen Hilyard
2022-04-20  8:45       ` Juraj Linkeš
2022-04-13 14:54 ` [PATCH v3 3/3] all: ran formatter ohilyard
2022-04-14  5:39 ` [PATCH v3 1/3] framework: Move test-specific files to test directory Juraj Linkeš

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).