Skip to content

Commit

Permalink
Debug dump utility - Platform specific changes for dash
Browse files Browse the repository at this point in the history
  • Loading branch information
gpunathilell committed Sep 29, 2024
1 parent 8735e1b commit 9710b48
Show file tree
Hide file tree
Showing 16 changed files with 74 additions and 28 deletions.
5 changes: 4 additions & 1 deletion dump/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
from dump.match_infra import RedisSource, JsonSource, MatchEngine, CONN
from swsscommon.swsscommon import ConfigDBConnector
from dump import plugins
from dump.dash_util import get_decoded_value
try:
from dump.dash_util import get_decoded_value
except ModuleNotFoundError:
pass

# Autocompletion Helper
def get_available_modules(ctx, args, incomplete):
Expand Down
5 changes: 4 additions & 1 deletion dump/match_infra.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
from sonic_py_common import multi_asic
from utilities_common.constants import DEFAULT_NAMESPACE
import redis
from dump.dash_util import get_decoded_value
try:
from dump.dash_util import get_decoded_value
except ModuleNotFoundError:
pass

# Constants
CONN = "conn"
Expand Down
5 changes: 4 additions & 1 deletion dump/plugins/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@

# import child classes automatically
for (module_loader, name, ispkg) in pkgutil.iter_modules([pkg_dir]):
importlib.import_module('.' + name, __package__)
try:
importlib.import_module('.' + name, __package__)
except ImportError as e:
pass

# Classes inheriting Executor
dump_modules = {cls.__name__.lower(): cls for cls in Executor.__subclasses__()}
25 changes: 14 additions & 11 deletions tests/dump_tests/dash_object_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,20 @@
import sys
import pytest
from dump.match_infra import MatchEngine, MatchRequest, ConnectionPool, CONN
from dump.plugins.dash_acl_out import Dash_Acl_Out
from dump.plugins.dash_acl_in import Dash_Acl_In
from dump.plugins.dash_acl_group import Dash_Acl_Group
from dump.plugins.dash_prefix_tag import Dash_Prefix_Tag
from dump.plugins.dash_acl_rule import Dash_Acl_Rule
from dump.plugins.dash_appliance import Dash_Appliance
from dump.plugins.dash_eni import Dash_Eni
from dump.plugins.dash_qos import Dash_Qos
from dump.plugins.dash_vnet import Dash_Vnet
from dump.plugins.dash_vnet_mapping import Dash_Vnet_mapping
from dump.plugins.dash_route import Dash_Route
try:
from dump.plugins.dash_acl_out import Dash_Acl_Out
from dump.plugins.dash_acl_in import Dash_Acl_In
from dump.plugins.dash_acl_group import Dash_Acl_Group
from dump.plugins.dash_prefix_tag import Dash_Prefix_Tag
from dump.plugins.dash_acl_rule import Dash_Acl_Rule
from dump.plugins.dash_appliance import Dash_Appliance
from dump.plugins.dash_eni import Dash_Eni
from dump.plugins.dash_qos import Dash_Qos
from dump.plugins.dash_vnet import Dash_Vnet
from dump.plugins.dash_vnet_mapping import Dash_Vnet_mapping
from dump.plugins.dash_route import Dash_Route
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from utilities_common.constants import DEFAULT_NAMESPACE
from dump.helper import populate_mock
from .mock_redis import RedisMock
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_acl_group_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_acl_group import Dash_Acl_Group
try:
from dump.plugins.dash_acl_group import Dash_Acl_Group
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_acl_in_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_acl_in import Dash_Acl_In
try:
from dump.plugins.dash_acl_in import Dash_Acl_In
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_acl_out_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_acl_out import Dash_Acl_Out
try:
from dump.plugins.dash_acl_out import Dash_Acl_Out
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_acl_rule_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_acl_rule import Dash_Acl_Rule
try:
from dump.plugins.dash_acl_rule import Dash_Acl_Rule
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_appliance_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_appliance import Dash_Appliance
try:
from dump.plugins.dash_appliance import Dash_Appliance
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_eni_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_eni import Dash_Eni
try:
from dump.plugins.dash_eni import Dash_Eni
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_prefix_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_prefix_tag import Dash_Prefix_Tag
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
try:
from dump.plugins.dash_prefix_tag import Dash_Prefix_Tag
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from utilities_common.constants import DEFAULT_NAMESPACE
import redis

Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_qos_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_qos import Dash_Qos
try:
from dump.plugins.dash_qos import Dash_Qos
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_route_rule_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_route_rule import Dash_Route_Rule
try:
from dump.plugins.dash_route_rule import Dash_Route_Rule
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.plugins.executor import Executor
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
Expand Down
7 changes: 4 additions & 3 deletions tests/dump_tests/module_tests/dash_route_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_route import Dash_Route
from dump.plugins.dash_eni import Dash_Eni
from dump.plugins.executor import Executor
try:
from dump.plugins.dash_route import Dash_Route
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_vnet_mapping_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_vnet_mapping import Dash_Vnet_mapping
try:
from dump.plugins.dash_vnet_mapping import Dash_Vnet_mapping
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down
5 changes: 4 additions & 1 deletion tests/dump_tests/module_tests/dash_vnet_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
import pytest
from deepdiff import DeepDiff
from dump.helper import create_template_dict, populate_mock
from dump.plugins.dash_vnet import Dash_Vnet
try:
from dump.plugins.dash_vnet import Dash_Vnet
except ModuleNotFoundError:
pytest.skip("Skipping Dash tests since it is not supported in this Platform", allow_module_level=True)
from dump.match_infra import MatchEngine, ConnectionPool
from swsscommon.swsscommon import SonicV2Connector
from utilities_common.constants import DEFAULT_NAMESPACE
Expand Down

0 comments on commit 9710b48

Please sign in to comment.