Show a cover letter.

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

{
    "id": 618,
    "url": "http://patches.dpdk.org/api/covers/618/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20240206145716.71435-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": "<20240206145716.71435-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240206145716.71435-1-juraj.linkes@pantheon.tech",
    "date": "2024-02-06T14:57:09",
    "name": "[v2,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/20240206145716.71435-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 31012,
            "url": "http://patches.dpdk.org/api/series/31012/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31012",
            "date": "2024-02-06T14:57:09",
            "name": "test case blocking and logging",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/31012/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/618/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 B50CA43A73;\n\tTue,  6 Feb 2024 15:57:19 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A4DCB42686;\n\tTue,  6 Feb 2024 15:57:19 +0100 (CET)",
            "from mail-ej1-f41.google.com (mail-ej1-f41.google.com\n [209.85.218.41]) by mails.dpdk.org (Postfix) with ESMTP id 5485C41611\n for <dev@dpdk.org>; Tue,  6 Feb 2024 15:57:18 +0100 (CET)",
            "by mail-ej1-f41.google.com with SMTP id\n a640c23a62f3a-a2f22bfb4e6so751546766b.0\n for <dev@dpdk.org>; Tue, 06 Feb 2024 06:57:18 -0800 (PST)",
            "from localhost.localdomain ([84.245.120.62])\n by smtp.gmail.com with ESMTPSA id\n lg25-20020a170907181900b00a36c5b01ef3sm1220786ejc.225.2024.02.06.06.57.17\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 06 Feb 2024 06:57:17 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon.tech; s=google; t=1707231438; x=1707836238; 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=2pzkO9Heft0aBxsalVeUF3waLc2hz7IHO6KxL3HpTBQ=;\n b=NhqRkzFzOJU5bD4j06xIdok0ETXmtJ4RREsKWBgE4zwKGKYfSS9d3pFJhdMvt9miT8\n 7ERKCzBM2DKJkyK1Y1Pr+gj6uWXqQF0m2GQP1aF0En26KQmDnlRWmQIKrf0oTWnl5JQ5\n wwsoY8agpKKqgZ/V1adXZi7N9qcBp2FutHvBC+Tcec4bdc4FL49C0TP9xMGan4KRMldA\n 4ikTe/Mk11iibCHlJpJPlO4O6JOuIu/qNq4WEZH6wAWWTEa2Bj427yEaH8cUTU8fYizF\n y3yzAKS+w3pG4SINDA3mgSJado1t+89Rr38qP8GCSTI1/Pr6oNqY7xETDxZJqEugcd9/\n Uyjw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1707231438; x=1707836238;\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=2pzkO9Heft0aBxsalVeUF3waLc2hz7IHO6KxL3HpTBQ=;\n b=cOEBvwe2/y6i7t9UIMcZ+IfAhmHxMB37XCt22Hz36EfoXgO21YHOTk8pTrJIlPt+z/\n fKHfv8Q8KXhFwpupws2wvu1/0IueQ82HXosezQNkLUf/4XRyDBUQJsPG+Aazpbm8hub3\n W7PV8xE94wQe1tSOGSFRicNMZQw3lzD7tOqRr5DZwCkDGmPzfXZK/6FxOqXSMTrPgXx1\n sadfNjR/xrP/LK2dIRVlYgTJxsomjLUMhcBaBPagbv8PRQxKUE6bExu3jPx7aniJpIaf\n eJFgQr1K0bbwRoQzvGJSBuPNk/NXvbKtLEFTkC083/DN2Qr860wxoK69E8oO/LpSg19H\n AUUg==",
        "X-Gm-Message-State": "AOJu0YybkXu9T7DDyecuhI/1Kmolh8mXCFf0ygYzYiiRS2XyVfEzNDKh\n Hv0MOpxTfQo7MvU2obmfahNCrmpCu+1kDPWoivlvaKzXDSg9w4TaMn/LnoPAFRE=",
        "X-Google-Smtp-Source": "\n AGHT+IHDl4co34MOnZMv7EmDwhneb6Ms52tgZDaRm7x2P+lpnY4eykdaHC0s2vqcFlciIdDfyypvMA==",
        "X-Received": "by 2002:a17:906:3b8b:b0:a37:6303:18b8 with SMTP id\n u11-20020a1709063b8b00b00a37630318b8mr1905579ejf.54.1707231437910;\n Tue, 06 Feb 2024 06:57:17 -0800 (PST)",
        "X-Forwarded-Encrypted": "i=0;\n AJvYcCWgyFuRJ0gKBP3AjIR4UEWwW9bI56SFM/gR3Ap9qeTBNfA8CGoLYn7Lxv3VUTMgfFWgyh9QkIiC+zpPvgPzZJ8utIZTnDbHrW5OhGui+9pSQy6kkIpNpyS31OBc8uVpDwH/Wn9vXkkjwK/ppszEg0mNx+RboUWfaAYKjCKFPEGeKvfgcNUfd2SSZPpCmScbYD3/vG20B4hsB+zpwfLGRxyckTWgxt/eBJQKtCjs/atmTzfjj6su6heeb7cCbpH4wmym",
        "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",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[PATCH v2 0/7] test case blocking and logging",
        "Date": "Tue,  6 Feb 2024 15:57:09 +0100",
        "Message-Id": "<20240206145716.71435-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\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                       | 235 +++---\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                       | 701 ++++++++++++++++++\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_smoke_tests.py            |   2 +-\n 19 files changed, 1354 insertions(+), 1028 deletions(-)\n delete mode 100644 dts/framework/dts.py\n create mode 100644 dts/framework/runner.py"
}