Cover Detail
Show a cover letter.
GET /api/covers/124781/?format=api
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" }{ "id": 124781, "url": "