Show a cover letter.

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

{
    "id": 504,
    "url": "http://patches.dpdk.org/api/covers/504/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20231220103331.60888-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": "<20231220103331.60888-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231220103331.60888-1-juraj.linkes@pantheon.tech",
    "date": "2023-12-20T10:33:26",
    "name": "[RFC,v1,0/5] 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/20231220103331.60888-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 30628,
            "url": "http://patches.dpdk.org/api/series/30628/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30628",
            "date": "2023-12-20T10:33:26",
            "name": "test case blocking and logging",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/30628/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/504/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 A489243723;\n\tWed, 20 Dec 2023 11:33:38 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8F27E40291;\n\tWed, 20 Dec 2023 11:33:38 +0100 (CET)",
            "from mail-lj1-f178.google.com (mail-lj1-f178.google.com\n [209.85.208.178])\n by mails.dpdk.org (Postfix) with ESMTP id DBFA540266\n for <dev@dpdk.org>; Wed, 20 Dec 2023 11:33:36 +0100 (CET)",
            "by mail-lj1-f178.google.com with SMTP id\n 38308e7fff4ca-2cc6eecd319so45384981fa.1\n for <dev@dpdk.org>; Wed, 20 Dec 2023 02:33:36 -0800 (PST)",
            "from jlinkes-PT-Latitude-5530.pantheon.local\n (81.89.53.154.host.vnet.sk. [81.89.53.154])\n by smtp.gmail.com with ESMTPSA id\n bd18-20020a056402207200b00542db304680sm12588981edb.63.2023.12.20.02.33.32\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 20 Dec 2023 02:33:33 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon.tech; s=google; t=1703068415; x=1703673215; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=yLo6edQ4OEzPM1Nhwb8C+V/MCWoRe7BhDKUVsWDLsuI=;\n b=TBXjlOUtiNuXLVvwHD2LLbi7o3BkiiXIfF3Z2gGQ7YT26gGiX5AI+Q4TX402VEtlRm\n 2uMyooJLu3sloIbQYd1Nzw+0HMKEoscM5XBSG2/8NkO3cYykxHJafH9aP26CY8IyZco4\n CciqhuEPKT+gPuktIS4GCTE8Yu92jhsflsP0l6NYUvKQQ4ySqa6F8BIyvW535McR2mDl\n JZ5fOxBapYtqptLSVJNu7UyvgqDagwrlSe7zaspcpjX5PKgJ04coc/fT7XWqW8Ne4e2k\n l1SBrhMxoFeT7Vpyg6XYJRYD2+K7U64q8jD6iQD1dS5V4EFAormCol6TJB/Bw5hY40Ss\n 9y9g==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1703068415; x=1703673215;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=yLo6edQ4OEzPM1Nhwb8C+V/MCWoRe7BhDKUVsWDLsuI=;\n b=vkI9M//AfzEOX9rypqE9phivs/bWrz5gF5TxqCMwpUBnBdlPwQgU1he5J0Tbz2VwBN\n nWhoxmNAb1CX/tywrLk6Lj0bHFBm1nmw6o4qRSEaBqhv/8KiGJCb4mzSu66eVFj+qVg7\n MIDBe3tXgidxnotaRnnF8WgnhB2LbAwQskDpIh4wu2qQf5fnpOOp/IpzdKY9QJ25taPa\n sGgoA3VwKDg6smqCt346QbETvoEjIkXm1nInjmFeTcbyHwzdCFfdTozS88NT9QU7h6sg\n Qmvj4/7boQ4ZmO0uyz0+jYhHInUDhXypPeiw7WtTsaldOmotPPwO+AJOJOcbLkzU1ldG\n nhsA==",
        "X-Gm-Message-State": "AOJu0YzO6fkuSSRXkoFJrQHQIs5keHSl2c29SfdybufiQCtZvBmvYUJi\n QOLAfs/REoFL1ygB1gjBngh/iA==",
        "X-Google-Smtp-Source": "\n AGHT+IES9XSmt4mbeDokCoWduU32HKCf5Tl1bkt5hdR42e8QFfRyfIVU2Muj3jwA4TT4jB5YQcbT2A==",
        "X-Received": "by 2002:a05:651c:1315:b0:2cc:8e11:be79 with SMTP id\n u21-20020a05651c131500b002cc8e11be79mr359899lja.64.1703068415424;\n Wed, 20 Dec 2023 02:33:35 -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, yoan.picchi@foss.arm.com,\n Luca.Vizzarro@arm.com",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[RFC PATCH v1 0/5] test case blocking and logging",
        "Date": "Wed, 20 Dec 2023 11:33:26 +0100",
        "Message-Id": "<20231220103331.60888-1-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.34.1",
        "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 store test cases that couldn't be executed because of\na previous failure, such as when a test suite setup failed, resulting in\nno 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.\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\nJuraj Linkeš (5):\n  dts: convert dts.py methods to class\n  dts: move test suite execution logic to DTSRunner\n  dts: process test suites at the beginning of run\n  dts: block all testcases when earlier setup fails\n  dts: refactor logging configuration\n\n dts/framework/config/__init__.py              |   8 +-\n dts/framework/dts.py                          | 228 --------\n dts/framework/logger.py                       | 162 +++---\n dts/framework/remote_session/__init__.py      |   4 +-\n dts/framework/remote_session/os_session.py    |   6 +-\n .../remote_session/remote/__init__.py         |   7 +-\n .../remote/interactive_remote_session.py      |   7 +-\n .../remote/interactive_shell.py               |   7 +-\n .../remote_session/remote/remote_session.py   |   8 +-\n .../remote_session/remote/ssh_session.py      |   5 +-\n dts/framework/runner.py                       | 499 ++++++++++++++++++\n dts/framework/test_result.py                  | 365 +++++++------\n dts/framework/test_suite.py                   | 193 +------\n dts/framework/testbed_model/node.py           |  10 +-\n dts/framework/testbed_model/scapy.py          |   6 +-\n .../testbed_model/traffic_generator.py        |   5 +-\n dts/main.py                                   |  12 +-\n dts/tests/TestSuite_smoke_tests.py            |   2 +-\n 18 files changed, 830 insertions(+), 704 deletions(-)\n delete mode 100644 dts/framework/dts.py\n create mode 100644 dts/framework/runner.py"
}