Show a cover letter.

GET /api/covers/732/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 732,
    "url": "http://patches.dpdk.org/api/covers/732/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20240301105522.79870-1-juraj.linkes@pantheon.tech/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20240301105522.79870-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240301105522.79870-1-juraj.linkes@pantheon.tech",
    "date": "2024-03-01T10:55:15",
    "name": "[v4,0/7] test case blocking and logging",
    "submitter": {
        "id": 1626,
        "url": "http://patches.dpdk.org/api/people/1626/?format=api",
        "name": "Juraj Linkeš",
        "email": "juraj.linkes@pantheon.tech"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20240301105522.79870-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 31329,
            "url": "http://patches.dpdk.org/api/series/31329/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31329",
            "date": "2024-03-01T10:55:15",
            "name": "test case blocking and logging",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/31329/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/732/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 35DA343BB1;\n\tFri,  1 Mar 2024 11:55:26 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E91F143381;\n\tFri,  1 Mar 2024 11:55:25 +0100 (CET)",
            "from mail-ed1-f46.google.com (mail-ed1-f46.google.com\n [209.85.208.46]) by mails.dpdk.org (Postfix) with ESMTP id 86846400D5\n for <dev@dpdk.org>; Fri,  1 Mar 2024 11:55:24 +0100 (CET)",
            "by mail-ed1-f46.google.com with SMTP id\n 4fb4d7f45d1cf-563c403719cso2937400a12.2\n for <dev@dpdk.org>; Fri, 01 Mar 2024 02:55:24 -0800 (PST)",
            "from jlinkes-PT-Latitude-5530.pantheon.local ([84.245.120.62])\n by smtp.gmail.com with ESMTPSA id\n f12-20020a056402194c00b0056661ec3f24sm1461734edz.81.2024.03.01.02.55.23\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 01 Mar 2024 02:55:23 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon.tech; s=google; t=1709290524; x=1709895324; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=yLZMXaCjxshwb1+7NBZ9jMqpZF7+M9W58O5WkUFMlhg=;\n b=eLTTbGOZ8tEPntzR3yJArTotiicfZTkbbASObUglQMFE51EYOMJXmCYYK1s9sNl+kI\n TA42B12dAF4TGaz7/vb4xkFW3JH2VEvgenChylhpv1l+QEi2jNyuF05W7ILEwrv7yUgo\n 9cTvmAv77fexuBff1it8b3QbzX8blvLKZA4AST6BZInhFROkyQCMeeu+KJfOh7MQ/4Ij\n 41WbVcR1E+96HgWr2HKKzVxjw9yxwDvmkOHiUsbN8R1QePnxxv/6O5qa4+vgN2bIf01I\n 1iD3M4ReB4jW0VR9om5FmImXP1/8khsIEuvLW7rLWmG/f5ej8oNbIiaononrQhxpMGQZ\n nMrQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1709290524; x=1709895324;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=yLZMXaCjxshwb1+7NBZ9jMqpZF7+M9W58O5WkUFMlhg=;\n b=JfSGeUuLDPrBnyTsT38pO35xFkP69uhwwBQrsE11kBm3bDdo72v1T4ERgztrx8OwwD\n /GOEbqm6YlaBV6w+lDXB9PWXbFAAOgftHgoSevEbrwbfuOx2L6lSPeb7fzQtqmWYyGD0\n /jZVuSxaxI/QVQGN3chTABfRRwPpu5V4Q9ai+ggfFDh3fZ5AYw7f+yewyRS03m4llMxy\n LSpIy0j0Q9H3Qi0kk08JWa1phVQMQ3RUG7vDaDL5azROxS6p/VfKh1rORA+ED8iYqAkM\n w7x8GD271abaNR5cc3NF45nbTGqyZGZTVXzzLqM1syanMdI8bcrN/Uj7mNxD/connMIb\n tDog==",
        "X-Gm-Message-State": "AOJu0YwVGho/+ALjTEhtxpja3TsFACubqx3I1D3vhI4E5u/P5w44s8E7\n +1031zfPW5qptymn7ErcjZLeWmo5hCR3p+tgQCvLQg+Wa8PsXjo3QxnHwKRjUzc=",
        "X-Google-Smtp-Source": "\n AGHT+IFQKE435cyBtihWeiNfF5wOlj5gVuNqCkhKc5h3YRCMHo2ICl3zAoPJ2GIQ8vh2W48MCaAUGA==",
        "X-Received": "by 2002:a05:6402:1a29:b0:565:b456:4357 with SMTP id\n be9-20020a0564021a2900b00565b4564357mr1096140edb.20.1709290524134;\n Fri, 01 Mar 2024 02:55:24 -0800 (PST)",
        "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "To": "thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, jspewock@iol.unh.edu,\n probb@iol.unh.edu, paul.szczepanek@arm.com, Luca.Vizzarro@arm.com,\n npratte@iol.unh.edu",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[PATCH v4 0/7] test case blocking and logging",
        "Date": "Fri,  1 Mar 2024 11:55:15 +0100",
        "Message-Id": "<20240301105522.79870-1-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20231220103331.60888-1-juraj.linkes@pantheon.tech>",
        "References": "<20231220103331.60888-1-juraj.linkes@pantheon.tech>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "We currently don't record test case results that couldn't be executed\nbecause of a previous failure, such as when a test suite setup failed,\nresulting in no executed test cases.\n\nIn order to record the test cases that couldn't be executed, we must\nknow the lists of test suites and test cases ahead of the actual test\nsuite execution, as an error could occur before we even start executing\ntest suites.\n\nIn addition, the patch series contains two refactors and one\nimprovement.\n\nThe first refactor is closely related. The dts.py was renamed to\nrunner.py and given a clear purpose - running the test suites and all\nother orchestration needed to run test suites. The logic for this was\nnot all in the original dts.py module and it was brought there. The\nrunner is also responsible for recording results, which is the blocked\ntest cases are recorded.\n\nThe other refactor, logging, is related to the first refactor. The\nlogging module was simplified while extending capabilities. Each test\nsuite logs into its own log file in addition to the main log file which\nthe runner must handle (as it knows when we start executing particular\ntest suites). The runner also handles the switching between execution\nstages for the purposes of logging.\n\nThe one aforementioned improvement is in unifying how we specify test\ncases in the conf.yaml file and in the environment variable/command line\nargument.\n\nv2:\nRebase and update of the whole patch. There are changes in all parts of\nthe code, mainly improving the design and logic.\nAlso added the last patch which improves test suite specification on the\ncmdline.\n\nv3:\nImproved variables in _get_test_suite_class along with docstring.\nFixed smoke test suite not being added into the list of test suites to\nbe executed.\n\nv4:\nAdded the checking of CamelCase convention when discovering test cases.\nAlso added additional test stages. The stages were split into setup and\nteardown.\n\nJuraj Linkeš (7):\n  dts: convert dts.py methods to class\n  dts: move test suite execution logic to DTSRunner\n  dts: filter test suites in executions\n  dts: reorganize test result\n  dts: block all test cases when earlier setup fails\n  dts: refactor logging configuration\n  dts: improve test suite and case filtering\n\n doc/guides/tools/dts.rst                      |  14 +-\n dts/framework/config/__init__.py              |  36 +-\n dts/framework/config/conf_yaml_schema.json    |   2 +-\n dts/framework/dts.py                          | 338 ---------\n dts/framework/logger.py                       | 246 +++---\n dts/framework/remote_session/__init__.py      |   6 +-\n .../interactive_remote_session.py             |   6 +-\n .../remote_session/interactive_shell.py       |   6 +-\n .../remote_session/remote_session.py          |   8 +-\n dts/framework/runner.py                       | 711 ++++++++++++++++++\n dts/framework/settings.py                     | 188 +++--\n dts/framework/test_result.py                  | 565 ++++++++------\n dts/framework/test_suite.py                   | 239 +-----\n dts/framework/testbed_model/node.py           |  11 +-\n dts/framework/testbed_model/os_session.py     |   7 +-\n .../traffic_generator/traffic_generator.py    |   6 +-\n dts/main.py                                   |   9 +-\n dts/pyproject.toml                            |   3 +\n dts/tests/TestSuite_os_udp.py                 |   2 +-\n dts/tests/TestSuite_smoke_tests.py            |   2 +-\n 20 files changed, 1375 insertions(+), 1030 deletions(-)\n delete mode 100644 dts/framework/dts.py\n create mode 100644 dts/framework/runner.py"
}