automatic DPDK test reports
 help / color / mirror / Atom feed
From: qemudev@loongson.cn
To: test-report@dpdk.org
Cc: Luca Vizzarro <luca.vizzarro@arm.com>, zhoumin@loongson.cn
Subject: |WARNING| pw147311-147315 [PATCH v2 1/5] dts: add pydantic dependency
Date: Fri, 25 Oct 2024 23:28:20 +0800	[thread overview]
Message-ID: <202410251528.49PFSKNB496273@localhost.localdomain> (raw)
In-Reply-To: <20241025155844.2154035-2-luca.vizzarro@arm.com>

Test-Label: loongarch-compilation
Test-Status: WARNING
http://dpdk.org/patch/147311

_apply patch failure_

Submitter: Luca Vizzarro <luca.vizzarro@arm.com>
Date: Fri, 25 Oct 2024 16:58:40 +0100
DPDK git baseline: Repo:dpdk
  Branch: main
  CommitID: 90cb8ff8196f9b9c1c2bcee1c94ea583789bb63f

Apply patch set 147311-147315 failed:

Checking patch doc/api/dts/conf_yaml_schema.json...
Checking patch doc/api/dts/framework.config.rst...
Checking patch doc/api/dts/framework.config.types.rst...
Checking patch dts/conf.yaml...
error: while searching for:
test_runs:
  # define one test run environment
  - dpdk_build:
      # dpdk_tree: Commented out because `tarball` is defined.
      tarball: dpdk-tarball.tar.xz
      # Either `dpdk_tree` or `tarball` can be defined, but not both.
      remote: false # Optional, defaults to false. If it's true, the `dpdk_tree` or `tarball`
                    # is located on the SUT node, instead of the execution host.

      # precompiled_build_dir: Commented out because `build_options` is defined.
      build_options:

error: patch failed: dts/conf.yaml:5
error: dts/conf.yaml: patch does not apply
Checking patch dts/framework/config/__init__.py...
error: while searching for:

The real-time information about testbed is supposed to be gathered at runtime.

The classes defined in this package make heavy use of :mod:`dataclasses`.
All of them use slots and are frozen:

    * Slots enables some optimizations, by pre-allocating space for the defined
      attributes in the underlying data structure,
    * Frozen makes the object immutable. This enables further optimizations,
      and makes it thread safe should we ever want to move in that direction.
"""

import json
import os.path
import tarfile
from dataclasses import dataclass, fields
from enum import auto, unique
from pathlib import Path
from typing import Union

import warlock  # type: ignore[import-untyped]
import yaml
from typing_extensions import Self

from framework.config.types import (
    ConfigurationDict,
    DPDKBuildConfigDict,
    DPDKConfigurationDict,
    NodeConfigDict,
    PortConfigDict,
    TestRunConfigDict,
    TestSuiteConfigDict,
    TrafficGeneratorConfigDict,
)
from framework.exception import ConfigurationError
from framework.utils import StrEnum


@unique

error: patch failed: dts/framework/config/__init__.py:24
error: dts/framework/config/__init__.py: patch does not apply
Checking patch dts/framework/config/conf_yaml_schema.json...
error: while searching for:
{
  "$schema": "https://json-schema.org/draft-07/schema",
  "title": "DTS Config Schema",
  "definitions": {
    "node_name": {
      "type": "string",
      "description": "A unique identifier for a node"
    },
    "NIC": {
      "type": "string",
      "enum": [
        "ALL",
        "ConnectX3_MT4103",
        "ConnectX4_LX_MT4117",
        "ConnectX4_MT4115",
        "ConnectX5_MT4119",
        "ConnectX5_MT4121",
        "I40E_10G-10G_BASE_T_BC",
        "I40E_10G-10G_BASE_T_X722",
        "I40E_10G-SFP_X722",
        "I40E_10G-SFP_XL710",
        "I40E_10G-X722_A0",
        "I40E_1G-1G_BASE_T_X722",
        "I40E_25G-25G_SFP28",
        "I40E_40G-QSFP_A",
        "I40E_40G-QSFP_B",
        "IAVF-ADAPTIVE_VF",
        "IAVF-VF",
        "IAVF_10G-X722_VF",
        "ICE_100G-E810C_QSFP",
        "ICE_25G-E810C_SFP",
        "ICE_25G-E810_XXV_SFP",
        "IGB-I350_VF",
        "IGB_1G-82540EM",
        "IGB_1G-82545EM_COPPER",
        "IGB_1G-82571EB_COPPER",
        "IGB_1G-82574L",
        "IGB_1G-82576",
        "IGB_1G-82576_QUAD_COPPER",
        "IGB_1G-82576_QUAD_COPPER_ET2",
        "IGB_1G-82580_COPPER",
        "IGB_1G-I210_COPPER",
        "IGB_1G-I350_COPPER",
        "IGB_1G-I354_SGMII",
        "IGB_1G-PCH_LPTLP_I218_LM",
        "IGB_1G-PCH_LPTLP_I218_V",
        "IGB_1G-PCH_LPT_I217_LM",
        "IGB_1G-PCH_LPT_I217_V",
        "IGB_2.5G-I354_BACKPLANE_2_5GBPS",
        "IGC-I225_LM",
        "IGC-I226_LM",
        "IXGBE_10G-82599_SFP",
        "IXGBE_10G-82599_SFP_SF_QP",
        "IXGBE_10G-82599_T3_LOM",
        "IXGBE_10G-82599_VF",
        "IXGBE_10G-X540T",
        "IXGBE_10G-X540_VF",
        "IXGBE_10G-X550EM_A_SFP",
        "IXGBE_10G-X550EM_X_10G_T",
        "IXGBE_10G-X550EM_X_SFP",
        "IXGBE_10G-X550EM_X_VF",
        "IXGBE_10G-X550T",
        "IXGBE_10G-X550_VF",
        "brcm_57414",
        "brcm_P2100G",
        "cavium_0011",
        "cavium_a034",
        "cavium_a063",
        "cavium_a064",
        "fastlinq_ql41000",
        "fastlinq_ql41000_vf",
        "fastlinq_ql45000",
        "fastlinq_ql45000_vf",
        "hi1822",
        "virtio"
      ]
    },

    "ARCH": {
      "type": "string",
      "enum": [
        "x86_64",
        "arm64",
        "ppc64le"
      ]
    },
    "OS": {
      "type": "string",
      "enum": [
        "linux"
      ]
    },
    "cpu": {
      "type": "string",
      "description": "Native should be the default on x86",
      "enum": [
        "native",
        "armv8a",
        "dpaa2",
        "thunderx",
        "xgene1"
      ]
    },
    "compiler": {
      "type": "string",
      "enum": [
        "gcc",
        "clang",
        "icc",
        "mscv"
      ]
    },
    "build_options": {
      "type": "object",
      "properties": {
        "arch": {
          "type": "string",
          "enum": [
            "ALL",
            "x86_64",
            "arm64",
            "ppc64le",
            "other"
          ]
        },
        "os": {
          "$ref": "#/definitions/OS"
        },
        "cpu": {
          "$ref": "#/definitions/cpu"
        },
        "compiler": {
          "$ref": "#/definitions/compiler"
        },
        "compiler_wrapper": {
          "type": "string",
          "description": "This will be added before compiler to the CC variable when building DPDK. Optional."
        }
      },
      "additionalProperties": false,
      "required": [
        "arch",
        "os",
        "cpu",
        "compiler"
      ]
    },
    "dpdk_build": {
      "type": "object",
      "description": "DPDK source and build configuration.",
      "properties": {
        "dpdk_tree": {
          "type": "string",
          "description": "The path to the DPDK source tree directory to test. Only one of `dpdk_tree` or `tarball` must be provided."
        },
        "tarball": {
          "type": "string",
          "description": "The path to the DPDK source tarball to test. Only one of `dpdk_tree` or `tarball` must be provided."
        },
        "remote": {
          "type": "boolean",
          "descri
error: patch failed: dts/framework/config/conf_yaml_schema.json:1
error: dts/framework/config/conf_yaml_schema.json: patch does not apply
Checking patch dts/framework/config/types.py...
error: while searching for:
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2023 PANTHEON.tech s.r.o.

"""Configuration dictionary contents specification.

These type definitions serve as documentation of the configuration dictionary contents.

The definitions use the built-in :class:`~typing.TypedDict` construct.
"""

from typing import TypedDict


class PortConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    pci: str
    #:
    os_driver_for_dpdk: str
    #:
    os_driver: str
    #:
    peer_node: str
    #:
    peer_pci: str


class TrafficGeneratorConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    type: str


class HugepageConfigurationDict(TypedDict):
    """Allowed keys and values."""

    #:
    number_of: int
    #:
    force_first_numa: bool


class NodeConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    hugepages_2mb: HugepageConfigurationDict
    #:
    name: str
    #:
    hostname: str
    #:
    user: str
    #:
    password: str
    #:
    arch: str
    #:
    os: str
    #:
    lcores: str
    #:
    use_first_core: bool
    #:
    ports: list[PortConfigDict]
    #:
    memory_channels: int
    #:
    traffic_generator: TrafficGeneratorConfigDict


class DPDKBuildConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    arch: str
    #:
    os: str
    #:
    cpu: str
    #:
    compiler: str
    #:
    compiler_wrapper: str


class DPDKConfigurationDict(TypedDict):
    """Allowed keys and values."""

    #:
    dpdk_tree: str | None
    #:
    tarball: str | None
    #:
    remote: bool
    #:
    precompiled_build_dir: str | None
    #:
    build_options: DPDKBuildConfigDict


class TestSuiteConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    suite: str
    #:
    cases: list[str]


class TestRunSUTConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    node_name: str
    #:
    vdevs: list[str]


class TestRunConfigDict(TypedDict):
    """Allowed keys and values."""

    #:
    dpdk_build: DPDKConfigurationDict
    #:
    perf: bool
    #:
    func: bool
    #:
    skip_smoke_tests: bool
    #:
    test_suites: TestSuiteConfigDict
    #:
    system_under_test_node: TestRunSUTConfigDict
    #:
    traffic_generator_node: str
    #:
    random_seed: int


class ConfigurationDict(TypedDict):
    """Allowed keys and values."""

    #:
    nodes: list[NodeConfigDict]
    #:
    test_runs: list[TestRunConfigDict]

error: patch failed: dts/framework/config/types.py:1
error: dts/framework/config/types.py: patch does not apply
Checking patch dts/framework/runner.py...
error: while searching for:
from framework.testbed_model.sut_node import SutNode
from framework.testbed_model.tg_node import TGNode

from .config import Configuration, TestRunConfiguration, TestSuiteConfig, load_config
from .exception import (
    BlockingTestSuiteError,
    ConfigurationError,

error: patch failed: dts/framework/runner.py:30
error: dts/framework/runner.py: patch does not apply
Checking patch dts/framework/settings.py...
error: while searching for:
. option:: --precompiled-build-dir
. envvar:: DTS_PRECOMPILED_BUILD_DIR

    Define the subdirectory under the DPDK tree root directory where the pre-compiled binaries are
    located. If set, DTS will build DPDK under the `build` directory instead. Can only be used with
    --dpdk-tree or --tarball.

. option:: --test-suite
. envvar:: DTS_TEST_SUITES

error: patch failed: dts/framework/settings.py:60
error: dts/framework/settings.py: patch does not apply
Checking patch dts/framework/testbed_model/node.py...
error: while searching for:
from ipaddress import IPv4Interface, IPv6Interface
from typing import Union

from framework.config import OS, DPDKLocation, NodeConfiguration, TestRunConfiguration
from framework.exception import ConfigurationError
from framework.logger import DTSLogger, get_dts_logger


error: patch failed: dts/framework/testbed_model/node.py:17
error: dts/framework/testbed_model/node.py: patch does not apply
Checking patch dts/framework/testbed_model/os_session.py...
error: while searching for:
        """

    @abstractmethod
    def is_remote_dir(self, remote_path: str) -> bool:
        """Check if the `remote_path` is a directory.

        Args:

error: patch failed: dts/framework/testbed_model/os_session.py:345
error: dts/framework/testbed_model/os_session.py: patch does not apply
Checking patch dts/framework/testbed_model/port.py...
Checking patch dts/framework/testbed_model/posix_session.py...
error: while searching for:
        if expected_dir:
            self.send_command(f"ls {expected_dir}", verify=True)

    def is_remote_dir(self, remote_path: str) -> bool:
        """Overrides :meth:`~.os_session.OSSession.is_remote_dir`."""
        result = self.send_command(f"test -d {remote_path}")
        return not result.return_code

    def is_remote_tarfile(self, remote_tarball_path: str) -> bool:
        """Overrides :meth:`~.os_session.OSSession.is_remote_tarfile`."""
        result = self.send_command(f"tar -tvf {remote_tarball_path}")
        return not result.return_code

error: patch failed: dts/framework/testbed_model/posix_session.py:201
error: dts/framework/testbed_model/posix_session.py: patch does not apply
Checking patch dts/framework/testbed_model/sut_node.py...
error: while searching for:

import os
import time
from pathlib import PurePath

from framework.config import (
    DPDKBuildConfiguration,
    DPDKBuildInfo,
    DPDKLocation,
    NodeInfo,
    SutNodeConfiguration,
    TestRunConfiguration,
)

error: patch failed: dts/framework/testbed_model/sut_node.py:14
error: dts/framework/testbed_model/sut_node.py: patch does not apply
Checking patch dts/framework/testbed_model/topology.py...
Checking patch dts/framework/testbed_model/traffic_generator/__init__.py...
Checking patch dts/framework/testbed_model/traffic_generator/traffic_generator.py...
Checking patch dts/framework/utils.py...
error: while searching for:

from .exception import InternalError

REGEX_FOR_PCI_ADDRESS: str = "/[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}.[0-9]{1}/"
_REGEX_FOR_COLON_OR_HYPHEN_SEP_MAC: str = r"(?:[\da-fA-F]{2}[:-]){5}[\da-fA-F]{2}"
_REGEX_FOR_DOT_SEP_MAC: str = r"(?:[\da-fA-F]{4}.){2}[\da-fA-F]{4}"
REGEX_FOR_MAC_ADDRESS: str = rf"{_REGEX_FOR_COLON_OR_HYPHEN_SEP_MAC}|{_REGEX_FOR_DOT_SEP_MAC}"

error: patch failed: dts/framework/utils.py:28
error: dts/framework/utils.py: patch does not apply
Checking patch dts/tests/TestSuite_smoke_tests.py...


       reply	other threads:[~2024-10-25 16:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20241025155844.2154035-2-luca.vizzarro@arm.com>
2024-10-25 15:28 ` qemudev [this message]
2024-10-25 16:00 ` |WARNING| pw147311 " checkpatch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202410251528.49PFSKNB496273@localhost.localdomain \
    --to=qemudev@loongson.cn \
    --cc=luca.vizzarro@arm.com \
    --cc=test-report@dpdk.org \
    --cc=zhoumin@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).