Show a cover letter.

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

{
    "id": 124781,
    "url": "http://patches.dpdk.org/api/covers/124781/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20230303102507.527790-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": "<20230303102507.527790-1-juraj.linkes@pantheon.tech>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230303102507.527790-1-juraj.linkes@pantheon.tech",
    "date": "2023-03-03T10:24:57",
    "name": "[v6,00/10] dts: add hello world test case",
    "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/20230303102507.527790-1-juraj.linkes@pantheon.tech/mbox/",
    "series": [
        {
            "id": 27241,
            "url": "http://patches.dpdk.org/api/series/27241/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=27241",
            "date": "2023-03-03T10:24:57",
            "name": "dts: add hello world test case",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/27241/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/124781/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 463FB41DC6;\n\tFri,  3 Mar 2023 11:25:14 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 19580410D0;\n\tFri,  3 Mar 2023 11:25:14 +0100 (CET)",
            "from mail-ed1-f50.google.com (mail-ed1-f50.google.com\n [209.85.208.50]) by mails.dpdk.org (Postfix) with ESMTP id 8C8CB410D0\n for <dev@dpdk.org>; Fri,  3 Mar 2023 11:25:11 +0100 (CET)",
            "by mail-ed1-f50.google.com with SMTP id u9so8386719edd.2\n for <dev@dpdk.org>; Fri, 03 Mar 2023 02:25:11 -0800 (PST)",
            "from localhost.localdomain (ip-46.34.234.35.o2inet.sk.\n [46.34.234.35]) by smtp.gmail.com with ESMTPSA id\n j19-20020a508a93000000b004c3e3a6136dsm984028edj.21.2023.03.03.02.25.10\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 03 Mar 2023 02:25:11 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=pantheon-tech.20210112.gappssmtp.com; s=20210112; t=1677839111;\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=PDCnBElFwicmdhqJzLJF3xMNm+a6hKFU3QjMHBQ+2WU=;\n b=qDjGb6bhy9LgeMT1P0spqcE+YU1DmeDidI5e4g2TtseW65sgi8/WoQEmoKBipjspCS\n PeK1vOehqsaKJwuTjzKzYQ7iF52/+5t5UjXLwkNETgagbuXb2Fpi+l8mjDkHLKO92pn7\n wcxfhrJQWcqMd7HqTi3Z0mEAtbR00zK7az1Kz7fr9whraeiSdIQY2HcsM8As+VHkk80z\n 67vwQEuGXSQSWtttHvIaBPKi1i/v8gOLYe1TY1jhcIwZomZtKzrJgq8zwIVo2FfVwhWq\n LU8fXzsQ59WHM40sH+Qbod/Jz0lMecM0abyb9agNLiUFGmmdVerM1IGhe5Ztzw7uLd/O\n Rf0g==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112; t=1677839111;\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=PDCnBElFwicmdhqJzLJF3xMNm+a6hKFU3QjMHBQ+2WU=;\n b=YyXoauvMvRDcNOg6Csp9+TEv/gEsRE5U0v9GN9zHp5Vk+QV8QbAuNa7OmwunQaDsGj\n ythpxQMBUuazfnTBm+ZVHQhN7ATscIAd7XMELfWU/ENCxNq64Z0Dy0bon4//yf8i2NQH\n Ju+W3Bdu1yUhz3hE8ZtniX+V42aHYUxKGiS4+o6lYBdUDbxv0bz13NPVqo5j/uWEMsHa\n kgNuS4TzNpm1NkUipDD1iEa5JMcy5F/d30UpzzkCOlBfGFg/IoSdWKLmEGyjVEtpz8dA\n HppSFD8f0JTQ6MzQyWd0giXn3eFQp9iJXELnz5IowiWaNJBqsjZyhM6wi67idn2uV9aG\n pnCA==",
        "X-Gm-Message-State": "AO0yUKVZzOB2qeTdnPz9Us/46rpK/96aPPJ5jkxPwClKQBHTkhXhyVmc\n L5eFN4l1prpFbl4QuUhnayzMYA==",
        "X-Google-Smtp-Source": "\n AK7set9rSxNzS3Z1e7q0XRzgQsDjs9nL+8dehtFOusDalJJMGpwgsa3e1jctYfyxWg64VZxtaq/agw==",
        "X-Received": "by 2002:aa7:dd0b:0:b0:4af:81f1:5ae4 with SMTP id\n i11-20020aa7dd0b000000b004af81f15ae4mr918191edv.15.1677839111370;\n Fri, 03 Mar 2023 02:25:11 -0800 (PST)",
        "From": "=?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "To": "thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com,\n bruce.richardson@intel.com, probb@iol.unh.edu",
        "Cc": "dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>",
        "Subject": "[PATCH v6 00/10] dts: add hello world test case",
        "Date": "Fri,  3 Mar 2023 11:24:57 +0100",
        "Message-Id": "<20230303102507.527790-1-juraj.linkes@pantheon.tech>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20230223152840.634183-1-juraj.linkes@pantheon.tech>",
        "References": "<20230223152840.634183-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": "Add code needed to run the HelloWorld testcase which just runs\nthe helloworld dpdk application.\n\nThe patchset currently heavily refactors this original DTS code needed\nto run the testcase:\n* The whole architecture has been redone into more sensible class\n  hierarchy\n* DPDK build on the System under Test\n* DPDK eal args construction, app running and shutting down\n* Optional SUT hugepage memory configuration\n  The optional part is DTS either configuring them or not. They still\nmust be configured even the user doesn't want DTS to do that.\n* Test runner\n* Test results\n* TestSuite class\n* Test runner parts interfacing with TestSuite\n* The HelloWorld testsuite itself\n\nThe code is divided into sub-packages, some of which are divided\nfurther.\n\nThere patch may need to be divided into smaller chunks. If so, proposals\non where exactly to split it would be very helpful.\n\nv5:\nDocumentation updates about running as root and hugepage configuration.\nFixed multiple problems with cpu filtering.\nOther minor issues, such as typos and renaming variables.\n\nv6:\nMoved utility functions into different files, mainly to remove util.py's\ndependency on settings.py, but also better code organization.\n\nJuraj Linkeš (10):\n  dts: add node and os abstractions\n  dts: add ssh command verification\n  dts: add dpdk build on sut\n  dts: add dpdk execution handling\n  dts: add node memory setup\n  dts: add test suite module\n  dts: add hello world testsuite\n  dts: add test suite config and runner\n  dts: add test results module\n  doc: update dts setup and test suite cookbook\n\n doc/guides/tools/dts.rst                      | 165 ++++++++-\n dts/conf.yaml                                 |  22 +-\n dts/framework/config/__init__.py              | 130 ++++++-\n dts/framework/config/conf_yaml_schema.json    | 172 +++++++++-\n dts/framework/dts.py                          | 185 ++++++++--\n dts/framework/exception.py                    | 100 +++++-\n dts/framework/logger.py                       |  24 +-\n dts/framework/remote_session/__init__.py      |  30 +-\n dts/framework/remote_session/linux_session.py | 107 ++++++\n dts/framework/remote_session/os_session.py    | 175 ++++++++++\n dts/framework/remote_session/posix_session.py | 221 ++++++++++++\n .../remote_session/remote/__init__.py         |  16 +\n .../remote_session/remote/remote_session.py   | 155 +++++++++\n .../{ => remote}/ssh_session.py               |  90 ++++-\n .../remote_session/remote_session.py          |  95 ------\n dts/framework/settings.py                     |  81 ++++-\n dts/framework/test_result.py                  | 316 ++++++++++++++++++\n dts/framework/test_suite.py                   | 254 ++++++++++++++\n dts/framework/testbed_model/__init__.py       |  19 +-\n dts/framework/testbed_model/hw/__init__.py    |  27 ++\n dts/framework/testbed_model/hw/cpu.py         | 274 +++++++++++++++\n .../testbed_model/hw/virtual_device.py        |  16 +\n dts/framework/testbed_model/node.py           | 172 ++++++++--\n dts/framework/testbed_model/sut_node.py       | 309 +++++++++++++++++\n dts/framework/utils.py                        |  56 +++-\n dts/tests/TestSuite_hello_world.py            |  64 ++++\n 26 files changed, 3064 insertions(+), 211 deletions(-)\n create mode 100644 dts/framework/remote_session/linux_session.py\n create mode 100644 dts/framework/remote_session/os_session.py\n create mode 100644 dts/framework/remote_session/posix_session.py\n create mode 100644 dts/framework/remote_session/remote/__init__.py\n create mode 100644 dts/framework/remote_session/remote/remote_session.py\n rename dts/framework/remote_session/{ => remote}/ssh_session.py (65%)\n delete mode 100644 dts/framework/remote_session/remote_session.py\n create mode 100644 dts/framework/test_result.py\n create mode 100644 dts/framework/test_suite.py\n create mode 100644 dts/framework/testbed_model/hw/__init__.py\n create mode 100644 dts/framework/testbed_model/hw/cpu.py\n create mode 100644 dts/framework/testbed_model/hw/virtual_device.py\n create mode 100644 dts/framework/testbed_model/sut_node.py\n create mode 100644 dts/tests/TestSuite_hello_world.py"
}