automatic DPDK test reports
 help / color / mirror / Atom feed
* |WARNING| pw129505-129506 [PATCH] [v5, 2/2] dts: add paramiko to dependencies
@ 2023-07-12 20:45 dpdklab
  0 siblings, 0 replies; only message in thread
From: dpdklab @ 2023-07-12 20:45 UTC (permalink / raw)
  To: test-report; +Cc: dpdk-test-reports

Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/129505

_apply patch failure_

Submitter: Jeremy Spewock <jspewock@iol.unh.edu>
Date: Wednesday, July 12 2023 19:18:02 
Applied on: CommitID:655eb37b18b1b0dc4d106acdf0dfedde01cfb224
Apply patch set 129505-129506 failed:

Checking patch dts/conf.yaml...
Checking patch dts/framework/config/__init__.py...
error: while searching for:
import pathlib
from dataclasses import dataclass
from enum import Enum, auto, unique
from typing import Any, TypedDict

import warlock  # type: ignore

error: patch failed: dts/framework/config/__init__.py:12
Hunk #2 succeeded at 65 (offset -8 lines).
Hunk #3 succeeded at 91 (offset -8 lines).
Hunk #4 succeeded at 100 (offset -8 lines).
Hunk #5 succeeded at 153 (offset -8 lines).
Hunk #6 succeeded at 194 (offset -8 lines).
Hunk #7 succeeded at 205 (offset -8 lines).
Hunk #8 succeeded at 265 (offset -8 lines).
Checking patch dts/framework/config/conf_yaml_schema.json...
Checking patch dts/framework/dts.py...
Checking patch dts/framework/exception.py...
Hunk #2 succeeded at 151 (offset 6 lines).
Checking patch dts/framework/remote_session/__init__.py...
Checking patch dts/framework/remote_session/os_session.py...
error: while searching for:
from abc import ABC, abstractmethod
from collections.abc import Iterable
from pathlib import PurePath

from framework.config import Architecture, NodeConfiguration
from framework.logger import DTSLOG
from framework.settings import SETTINGS
from framework.testbed_model import LogicalCore
from framework.utils import EnvVarsDict, MesonArgs

from .remote import CommandResult, RemoteSession, create_remote_session


class OSSession(ABC):

error: patch failed: dts/framework/remote_session/os_session.py:5
Hunk #2 succeeded at 26 (offset -8 lines).
Hunk #3 succeeded at 38 (offset -8 lines).
error: while searching for:
        """
        return self.remote_session.send_command(command, timeout, verify, env)

    @abstractmethod
    def guess_dpdk_remote_dir(self, remote_dir) -> PurePath:
        """

error: patch failed: dts/framework/remote_session/os_session.py:64
Hunk #5 succeeded at 208 (offset -2 lines).
Checking patch dts/framework/remote_session/posix_session.py...
error: while searching for:
from collections.abc import Iterable
from pathlib import PurePath, PurePosixPath

from framework.config import Architecture
from framework.exception import DPDKBuildError, RemoteCommandExecutionError
from framework.settings import SETTINGS
from framework.utils import EnvVarsDict, MesonArgs

error: patch failed: dts/framework/remote_session/posix_session.py:6
Hunk #2 succeeded at 221 (offset 2 lines).
Checking patch dts/framework/remote_session/remote/__init__.py...
Checking patch dts/framework/remote_session/remote/interactive_remote_session.py...
Checking patch dts/framework/remote_session/remote/interactive_shell.py...
Checking patch dts/framework/remote_session/remote/testpmd_shell.py...
Checking patch dts/framework/test_result.py...
Checking patch dts/framework/test_suite.py...
Checking patch dts/framework/testbed_model/node.py...
Checking patch dts/framework/testbed_model/sut_node.py...
error: while searching for:
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2010-2014 Intel Corporation
# Copyright(c) 2023 PANTHEON.tech s.r.o.

import os
import tarfile
import time
from pathlib import PurePath

from framework.config import BuildTargetConfiguration, NodeConfiguration
from framework.remote_session import CommandResult, OSSession
from framework.settings import SETTINGS
from framework.utils import EnvVarsDict, MesonArgs


error: patch failed: dts/framework/testbed_model/sut_node.py:1
Hunk #2 succeeded at 16 (offset -13 lines).
error: while searching for:
    _env_vars: EnvVarsDict
    _remote_tmp_dir: PurePath
    __remote_dpdk_dir: PurePath | None
    _dpdk_version: str | None
    _app_compile_timeout: float
    _dpdk_kill_session: OSSession | None

    def __init__(self, node_config: NodeConfiguration):
        super(SutNode, self).__init__(node_config)

error: patch failed: dts/framework/testbed_model/sut_node.py:30
error: while searching for:
        self._env_vars = EnvVarsDict()
        self._remote_tmp_dir = self.main_session.get_remote_tmp_dir()
        self.__remote_dpdk_dir = None
        self._dpdk_version = None
        self._app_compile_timeout = 90
        self._dpdk_kill_session = None
        self._dpdk_timestamp = (
            f"{str(os.getpid())}_{time.strftime('%Y%m%d%H%M%S', time.localtime())}"
        )

    @property
    def _remote_dpdk_dir(self) -> PurePath:

error: patch failed: dts/framework/testbed_model/sut_node.py:41
Hunk #5 succeeded at 121 (offset -17 lines).
Hunk #6 succeeded at 156 (offset -17 lines).
error: while searching for:
            f"{app_path} {eal_args}", timeout, verify=True
        )


class EalParameters(object):
    def __init__(
        self,
        lcore_list: LogicalCoreList,
        memory_channels: int,
        prefix: str,
        no_pci: bool,
        vdevs: list[VirtualDevice],
        other_eal_param: str,
    ):
        """
        Generate eal parameters character string;
        :param lcore_list: the list of logical cores to use.
        :param memory_channels: the number of memory channels to use.
        :param prefix: set file prefix string, eg:
                        prefix='vf'
        :param no_pci: switch of disable PCI bus eg:
                        no_pci=True
        :param vdevs: virtual device list, eg:
                        vdevs=[
                            VirtualDevice('net_ring0'),
                            VirtualDevice('net_ring1')
                        ]
        :param other_eal_param: user defined DPDK eal parameters, eg:
                        other_eal_param='--single-file-segments'
        """
        self._lcore_list = f"-l {lcore_list}"
        self._memory_channels = f"-n {memory_channels}"
        self._prefix = prefix
        if prefix:
            self._prefix = f"--file-prefix={prefix}"
        self._no_pci = "--no-pci" if no_pci else ""
        self._vdevs = " ".join(f"--vdev {vdev}" for vdev in vdevs)
        self._other_eal_param = other_eal_param

    def __str__(self) -> str:
        return (
            f"{self._lcore_list} "
            f"{self._memory_channels} "
            f"{self._prefix} "
            f"{self._no_pci} "
            f"{self._vdevs} "
            f"{self._other_eal_param}"
        )

error: patch failed: dts/framework/testbed_model/sut_node.py:262
Checking patch dts/framework/utils.py...
error: while searching for:

import sys


def check_dts_python_version() -> None:
    if sys.version_info.major < 3 or (

error: patch failed: dts/framework/utils.py:5
Checking patch dts/tests/TestSuite_smoke_tests.py...
Applied patch dts/conf.yaml cleanly.
Applying patch dts/framework/config/__init__.py with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Hunk #7 applied cleanly.
Hunk #8 applied cleanly.
Applied patch dts/framework/config/conf_yaml_schema.json cleanly.
Applied patch dts/framework/dts.py cleanly.
Applied patch dts/framework/exception.py cleanly.
Applied patch dts/framework/remote_session/__init__.py cleanly.
Applying patch dts/framework/remote_session/os_session.py with 2 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Rejected hunk #4.
Hunk #5 applied cleanly.
Applying patch dts/framework/remote_session/posix_session.py with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Applied patch dts/framework/remote_session/remote/__init__.py cleanly.
Applied patch dts/framework/remote_session/remote/interactive_remote_session.py cleanly.
Applied patch dts/framework/remote_session/remote/interactive_shell.py cleanly.
Applied patch dts/framework/remote_session/remote/testpmd_shell.py cleanly.
Applied patch dts/framework/test_result.py cleanly.
Applied patch dts/framework/test_suite.py cleanly.
Applied patch dts/framework/testbed_model/node.py cleanly.
Applying patch dts/framework/testbed_model/sut_node.py with 4 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Rejected hunk #3.
Rejected hunk #4.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Rejected hunk #7.
Applying patch dts/framework/utils.py with 1 reject...
Rejected hunk #1.
Applied patch dts/tests/TestSuite_smoke_tests.py cleanly.
hint: Use 'git am --show-current-patch' to see the failed patch
diff a/dts/framework/config/__init__.py b/dts/framework/config/__init__.py	(rejected hunks)
@@ -12,6 +12,7 @@
 import pathlib
 from dataclasses import dataclass
 from enum import Enum, auto, unique
+from pathlib import PurePath
 from typing import Any, TypedDict
 
 import warlock  # type: ignore
diff a/dts/framework/remote_session/os_session.py b/dts/framework/remote_session/os_session.py	(rejected hunks)
@@ -5,14 +5,22 @@
 from abc import ABC, abstractmethod
 from collections.abc import Iterable
 from pathlib import PurePath
+from typing import Union
 
-from framework.config import Architecture, NodeConfiguration
+from framework.config import Architecture, InteractiveApp, NodeConfiguration, NodeInfo
 from framework.logger import DTSLOG
+from framework.remote_session.remote import InteractiveShell, TestPmdShell
 from framework.settings import SETTINGS
 from framework.testbed_model import LogicalCore
 from framework.utils import EnvVarsDict, MesonArgs
 
-from .remote import CommandResult, RemoteSession, create_remote_session
+from .remote import (
+    CommandResult,
+    InteractiveRemoteSession,
+    RemoteSession,
+    create_interactive_session,
+    create_remote_session,
+)
 
 
 class OSSession(ABC):
@@ -64,6 +74,33 @@ def send_command(
         """
         return self.remote_session.send_command(command, timeout, verify, env)
 
+    def create_interactive_shell(
+        self,
+        shell_type: InteractiveApp,
+        path_to_app: PurePath,
+        eal_parameters: str,
+        timeout: float,
+    ) -> Union[InteractiveShell, TestPmdShell]:
+        """
+        See "create_interactive_shell" in SutNode
+        """
+        match (shell_type):
+            case InteractiveApp.testpmd:
+                return TestPmdShell(
+                    self.interactive_session.session,
+                    self._logger,
+                    path_to_app,
+                    timeout=timeout,
+                    eal_flags=eal_parameters,
+                )
+            case _:
+                self._logger.info(
+                    f"Unhandled app type {shell_type.name}, defaulting to shell."
+                )
+                return InteractiveShell(
+                    self.interactive_session.session, self._logger, path_to_app, timeout
+                )
+
     @abstractmethod
     def guess_dpdk_remote_dir(self, remote_dir) -> PurePath:
         """
diff a/dts/framework/remote_session/posix_session.py b/dts/framework/remote_session/posix_session.py	(rejected hunks)
@@ -6,7 +6,7 @@
 from collections.abc import Iterable
 from pathlib import PurePath, PurePosixPath
 
-from framework.config import Architecture
+from framework.config import Architecture, NodeInfo
 from framework.exception import DPDKBuildError, RemoteCommandExecutionError
 from framework.settings import SETTINGS
 from framework.utils import EnvVarsDict, MesonArgs
diff a/dts/framework/testbed_model/sut_node.py b/dts/framework/testbed_model/sut_node.py	(rejected hunks)
@@ -1,14 +1,27 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2010-2014 Intel Corporation
 # Copyright(c) 2023 PANTHEON.tech s.r.o.
+# Copyright(c) 2023 University of New Hampshire
 
 import os
 import tarfile
 import time
 from pathlib import PurePath
-
-from framework.config import BuildTargetConfiguration, NodeConfiguration
-from framework.remote_session import CommandResult, OSSession
+from typing import Union
+
+from framework.config import (
+    BuildTargetConfiguration,
+    BuildTargetInfo,
+    InteractiveApp,
+    NodeConfiguration,
+    NodeInfo,
+)
+from framework.remote_session import (
+    CommandResult,
+    InteractiveShell,
+    OSSession,
+    TestPmdShell,
+)
 from framework.settings import SETTINGS
 from framework.utils import EnvVarsDict, MesonArgs
 
@@ -30,9 +89,11 @@ class SutNode(Node):
     _env_vars: EnvVarsDict
     _remote_tmp_dir: PurePath
     __remote_dpdk_dir: PurePath | None
-    _dpdk_version: str | None
     _app_compile_timeout: float
     _dpdk_kill_session: OSSession | None
+    _dpdk_version: str | None
+    _node_info: NodeInfo | None
+    _compiler_version: str | None
 
     def __init__(self, node_config: NodeConfiguration):
         super(SutNode, self).__init__(node_config)
@@ -41,12 +102,14 @@ def __init__(self, node_config: NodeConfiguration):
         self._env_vars = EnvVarsDict()
         self._remote_tmp_dir = self.main_session.get_remote_tmp_dir()
         self.__remote_dpdk_dir = None
-        self._dpdk_version = None
         self._app_compile_timeout = 90
         self._dpdk_kill_session = None
         self._dpdk_timestamp = (
             f"{str(os.getpid())}_{time.strftime('%Y%m%d%H%M%S', time.localtime())}"
         )
+        self._dpdk_version = None
+        self._node_info = None
+        self._compiler_version = None
 
     @property
     def _remote_dpdk_dir(self) -> PurePath:
@@ -262,48 +355,37 @@ def run_dpdk_app(
             f"{app_path} {eal_args}", timeout, verify=True
         )
 
-
-class EalParameters(object):
-    def __init__(
+    def create_interactive_shell(
         self,
-        lcore_list: LogicalCoreList,
-        memory_channels: int,
-        prefix: str,
-        no_pci: bool,
-        vdevs: list[VirtualDevice],
-        other_eal_param: str,
-    ):
+        shell_type: InteractiveApp,
+        timeout: float = SETTINGS.timeout,
+        eal_parameters: EalParameters | None = None,
+    ) -> Union[InteractiveShell, TestPmdShell]:
+        """Create a handler for an interactive session.
+
+        This method is a factory that calls a method in OSSession to create shells for
+        different DPDK applications.
+
+        Args:
+            shell_type: Enum value representing the desired application.
+            timeout: Timeout for reading output from the SSH channel. If you are
+                reading from the buffer and don't receive any data within the timeout
+                it will throw an error.
+            eal_parameters: List of EAL parameters to use to launch the app. If this
+                isn't provided, it will default to calling create_eal_parameters().
+                This is ignored for base "shell" types.
+        Returns:
+            Instance of the desired interactive application.
         """
-        Generate eal parameters character string;
-        :param lcore_list: the list of logical cores to use.
-        :param memory_channels: the number of memory channels to use.
-        :param prefix: set file prefix string, eg:
-                        prefix='vf'
-        :param no_pci: switch of disable PCI bus eg:
-                        no_pci=True
-        :param vdevs: virtual device list, eg:
-                        vdevs=[
-                            VirtualDevice('net_ring0'),
-                            VirtualDevice('net_ring1')
-                        ]
-        :param other_eal_param: user defined DPDK eal parameters, eg:
-                        other_eal_param='--single-file-segments'
-        """
-        self._lcore_list = f"-l {lcore_list}"
-        self._memory_channels = f"-n {memory_channels}"
-        self._prefix = prefix
-        if prefix:
-            self._prefix = f"--file-prefix={prefix}"
-        self._no_pci = "--no-pci" if no_pci else ""
-        self._vdevs = " ".join(f"--vdev {vdev}" for vdev in vdevs)
-        self._other_eal_param = other_eal_param
-
-    def __str__(self) -> str:
-        return (
-            f"{self._lcore_list} "
-            f"{self._memory_channels} "
-            f"{self._prefix} "
-            f"{self._no_pci} "
-            f"{self._vdevs} "
-            f"{self._other_eal_param}"
+        if not eal_parameters:
+            eal_parameters = self.create_eal_parameters()
+
+        # We need to append the build directory for DPDK apps
+        shell_type.path = self.remote_dpdk_build_dir.joinpath(shell_type.path)
+        default_path = self.main_session.join_remote_path(shell_type.path)
+        return self.main_session.create_interactive_shell(
+            shell_type,
+            default_path,
+            str(eal_parameters),
+            timeout,
         )
diff a/dts/framework/utils.py b/dts/framework/utils.py	(rejected hunks)
@@ -5,6 +5,8 @@
 
 import sys
 
+REGEX_FOR_PCI_ADDRESS = "/[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}.[0-9]{1}/"
+
 
 def check_dts_python_version() -> None:
     if sys.version_info.major < 3 or (
Checking patch dts/poetry.lock...
error: while searching for:
[[package]]
name = "attrs"
version = "22.1.0"
description = "Classes Without Boilerplate"
category = "main"
optional = false
python-versions = ">=3.5"

[package.extras]
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"]
docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"]
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"]

[[package]]
name = "black"
version = "22.10.0"
description = "The uncompromising code formatter."
category = "dev"
optional = false

error: patch failed: dts/poetry.lock:1
error: while searching for:
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
uvloop = ["uvloop (>=0.15.2)"]

[[package]]
name = "click"
version = "8.1.3"

error: patch failed: dts/poetry.lock:33
error: while searching for:
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"

[[package]]
name = "isort"
version = "5.10.1"
description = "A Python utility / library to sort Python imports."
category = "dev"
optional = false
python-versions = ">=3.6.1,<4.0"

[package.extras]
pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
requirements_deprecated_finder = ["pipreqs", "pip-api"]
colors = ["colorama (>=0.4.3,<0.5.0)"]
plugins = ["setuptools"]

[[package]]

error: patch failed: dts/poetry.lock:52
Hunk #4 succeeded at 156 (offset 24 lines).
error: while searching for:

[[package]]
name = "mypy-extensions"
version = "0.4.3"
description = "Experimental type system extensions for programs checked with the mypy typechecker."
category = "dev"
optional = false
python-versions = "*"

[[package]]
name = "pathspec"
version = "0.10.1"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false

error: patch failed: dts/poetry.lock:129
error: while searching for:

[[package]]
name = "platformdirs"
version = "2.5.2"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false
python-versions = ">=3.7"

[package.extras]
docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"]
test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"]

[[package]]
name = "ptyprocess"

error: patch failed: dts/poetry.lock:156
error: while searching for:

[[package]]
name = "pycodestyle"
version = "2.9.1"
description = "Python style guide checker"
category = "dev"
optional = false
python-versions = ">=3.6"

[[package]]
name = "pydocstyle"
version = "6.1.1"
description = "Python docstring style checker"
category = "dev"
optional = false
python-versions = ">=3.6"

[package.dependencies]
snowballstemmer = "*"

[package.extras]
toml = ["toml"]

[[package]]
name = "pyflakes"

error: patch failed: dts/poetry.lock:176
error: while searching for:
toml = ["toml (>=0.10.2)"]
vulture = ["vulture"]

[[package]]
name = "pyrsistent"
version = "0.19.1"
description = "Persistent/Functional/Immutable data structures"
category = "main"
optional = false

error: patch failed: dts/poetry.lock:228
Hunk #9 succeeded at 380 (offset 24 lines).
Hunk #10 succeeded at 388 (offset 24 lines).
error: while searching for:
[metadata]
lock-version = "1.1"
python-versions = "^3.10"
content-hash = "a0f040b07fc6ce4deb0be078b9a88c2a465cb6bccb9e260a67e92c2403e2319f"

[metadata.files]
attrs = []
black = []
click = []
colorama = []
isort = []
jsonpatch = []
jsonpointer = []

error: patch failed: dts/poetry.lock:299
error: while searching for:
mccabe = []
mypy = []
mypy-extensions = []
pathspec = []
pexpect = [
    {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
    {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
]
platformdirs = [
    {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
    {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
]
ptyprocess = []
pycodestyle = []
pydocstyle = []
pyflakes = []
pylama = []
pyrsistent = []
pyyaml = []
snowballstemmer = []

error: patch failed: dts/poetry.lock:313
Checking patch dts/pyproject.toml...
error: while searching for:
warlock = "^2.0.1"
PyYAML = "^6.0"
types-PyYAML = "^6.0.8"

[tool.poetry.dev-dependencies]
mypy = "^0.961"

error: patch failed: dts/pyproject.toml:13
Applying patch dts/poetry.lock with 9 rejects...
Rejected hunk #1.
Rejected hunk #2.
Rejected hunk #3.
Hunk #4 applied cleanly.
Rejected hunk #5.
Rejected hunk #6.
Rejected hunk #7.
Rejected hunk #8.
Hunk #9 applied cleanly.
Hunk #10 applied cleanly.
Rejected hunk #11.
Rejected hunk #12.
Applying patch dts/pyproject.toml with 1 reject...
Rejected hunk #1.
hint: Use 'git am --show-current-patch' to see the failed patch
diff a/dts/poetry.lock b/dts/poetry.lock	(rejected hunks)
@@ -1,20 +1,33 @@
 [[package]]
 name = "attrs"
-version = "22.1.0"
+version = "23.1.0"
 description = "Classes Without Boilerplate"
 category = "main"
 optional = false
-python-versions = ">=3.5"
+python-versions = ">=3.7"
 
 [package.extras]
-dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"]
-docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
-tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "zope.interface", "cloudpickle"]
-tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "mypy (>=0.900,!=0.940)", "pytest-mypy-plugins", "cloudpickle"]
+cov = ["attrs", "coverage[toml] (>=5.3)"]
+dev = ["attrs", "pre-commit"]
+docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
+tests = ["attrs", "zope-interface"]
+tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest-mypy-plugins", "pytest-xdist", "pytest (>=4.3.0)"]
+
+[[package]]
+name = "bcrypt"
+version = "4.0.1"
+description = "Modern password hashing for your software and your servers"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+tests = ["pytest (>=3.2.1,!=3.3.0)"]
+typecheck = ["mypy"]
 
 [[package]]
 name = "black"
-version = "22.10.0"
+version = "22.12.0"
 description = "The uncompromising code formatter."
 category = "dev"
 optional = false
@@ -33,6 +46,17 @@ d = ["aiohttp (>=3.7.4)"]
 jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
 uvloop = ["uvloop (>=0.15.2)"]
 
+[[package]]
+name = "cffi"
+version = "1.15.1"
+description = "Foreign Function Interface for Python calling C code."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+pycparser = "*"
+
 [[package]]
 name = "click"
 version = "8.1.3"
@@ -52,18 +76,39 @@ category = "dev"
 optional = false
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
 
+[[package]]
+name = "cryptography"
+version = "41.0.1"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+cffi = ">=1.12"
+
+[package.extras]
+docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"]
+docstest = ["pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+nox = ["nox"]
+pep8test = ["black", "ruff", "mypy", "check-sdist"]
+sdist = ["build"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist", "pretend"]
+test-randomorder = ["pytest-randomly"]
+
 [[package]]
 name = "isort"
-version = "5.10.1"
+version = "5.12.0"
 description = "A Python utility / library to sort Python imports."
 category = "dev"
 optional = false
-python-versions = ">=3.6.1,<4.0"
+python-versions = ">=3.8.0"
 
 [package.extras]
-pipfile_deprecated_finder = ["pipreqs", "requirementslib"]
-requirements_deprecated_finder = ["pipreqs", "pip-api"]
-colors = ["colorama (>=0.4.3,<0.5.0)"]
+colors = ["colorama (>=0.4.3)"]
+requirements-deprecated-finder = ["pip-api", "pipreqs"]
+pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"]
 plugins = ["setuptools"]
 
 [[package]]
@@ -129,15 +174,33 @@ reports = ["lxml"]
 
 [[package]]
 name = "mypy-extensions"
-version = "0.4.3"
-description = "Experimental type system extensions for programs checked with the mypy typechecker."
+version = "1.0.0"
+description = "Type system extensions for programs checked with the mypy type checker."
 category = "dev"
 optional = false
-python-versions = "*"
+python-versions = ">=3.5"
+
+[[package]]
+name = "paramiko"
+version = "3.2.0"
+description = "SSH2 protocol library"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+bcrypt = ">=3.2"
+cryptography = ">=3.3"
+pynacl = ">=1.5"
+
+[package.extras]
+all = ["pyasn1 (>=0.1.7)", "invoke (>=2.0)", "gssapi (>=1.4.1)", "pywin32 (>=2.1.8)"]
+gssapi = ["pyasn1 (>=0.1.7)", "gssapi (>=1.4.1)", "pywin32 (>=2.1.8)"]
+invoke = ["invoke (>=2.0)"]
 
 [[package]]
 name = "pathspec"
-version = "0.10.1"
+version = "0.11.1"
 description = "Utility library for gitignore style pattern matching of file paths."
 category = "dev"
 optional = false
@@ -156,15 +219,15 @@ ptyprocess = ">=0.5"
 
 [[package]]
 name = "platformdirs"
-version = "2.5.2"
-description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+version = "3.5.1"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
 category = "dev"
 optional = false
 python-versions = ">=3.7"
 
 [package.extras]
-docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"]
-test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"]
+docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)", "sphinx (>=6.2.1)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest (>=7.3.1)"]
 
 [[package]]
 name = "ptyprocess"
@@ -176,25 +239,33 @@ python-versions = "*"
 
 [[package]]
 name = "pycodestyle"
-version = "2.9.1"
+version = "2.10.0"
 description = "Python style guide checker"
 category = "dev"
 optional = false
 python-versions = ">=3.6"
 
+[[package]]
+name = "pycparser"
+version = "2.21"
+description = "C parser in Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
 [[package]]
 name = "pydocstyle"
-version = "6.1.1"
+version = "6.3.0"
 description = "Python docstring style checker"
 category = "dev"
 optional = false
 python-versions = ">=3.6"
 
 [package.dependencies]
-snowballstemmer = "*"
+snowballstemmer = ">=2.2.0"
 
 [package.extras]
-toml = ["toml"]
+toml = ["tomli (>=1.2.3)"]
 
 [[package]]
 name = "pyflakes"
@@ -228,9 +299,24 @@ tests = ["pytest (>=7.1.2)", "pytest-mypy", "eradicate (>=2.0.0)", "radon (>=5.1
 toml = ["toml (>=0.10.2)"]
 vulture = ["vulture"]
 
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+description = "Python binding to the Networking and Cryptography (NaCl) library"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+cffi = ">=1.4.1"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
+tests = ["pytest (>=3.2.1,!=3.3.0)", "hypothesis (>=3.27.0)"]
+
 [[package]]
 name = "pyrsistent"
-version = "0.19.1"
+version = "0.19.3"
 description = "Persistent/Functional/Immutable data structures"
 category = "main"
 optional = false
@@ -299,13 +385,16 @@ jsonschema = ">=4,<5"
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.10"
-content-hash = "a0f040b07fc6ce4deb0be078b9a88c2a465cb6bccb9e260a67e92c2403e2319f"
+content-hash = "c119901b1c13b14adf9b53624430aff8720d9a3a180b028579b82c65d49474df"
 
 [metadata.files]
 attrs = []
+bcrypt = []
 black = []
+cffi = []
 click = []
 colorama = []
+cryptography = []
 isort = []
 jsonpatch = []
 jsonpointer = []
@@ -313,20 +402,17 @@ jsonschema = []
 mccabe = []
 mypy = []
 mypy-extensions = []
+paramiko = []
 pathspec = []
-pexpect = [
-    {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
-    {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
-]
-platformdirs = [
-    {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
-    {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
-]
+pexpect = []
+platformdirs = []
 ptyprocess = []
 pycodestyle = []
+pycparser = []
 pydocstyle = []
 pyflakes = []
 pylama = []
+pynacl = []
 pyrsistent = []
 pyyaml = []
 snowballstemmer = []
diff a/dts/pyproject.toml b/dts/pyproject.toml	(rejected hunks)
@@ -13,6 +13,7 @@ pexpect = "^4.8.0"
 warlock = "^2.0.1"
 PyYAML = "^6.0"
 types-PyYAML = "^6.0.8"
+paramiko = "^3.1.0"
 
 [tool.poetry.dev-dependencies]
 mypy = "^0.961"

https://lab.dpdk.org/results/dashboard/patchsets/27060/

UNH-IOL DPDK Community Lab

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-12 20:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-12 20:45 |WARNING| pw129505-129506 [PATCH] [v5, 2/2] dts: add paramiko to dependencies dpdklab

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