From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2FF3941C8A; Mon, 13 Feb 2023 16:28:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D7C640EF1; Mon, 13 Feb 2023 16:28:52 +0100 (CET) Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mails.dpdk.org (Postfix) with ESMTP id D7BF340EE4 for ; Mon, 13 Feb 2023 16:28:50 +0100 (CET) Received: by mail-wr1-f51.google.com with SMTP id y1so12659813wru.2 for ; Mon, 13 Feb 2023 07:28:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8k1drmbOwMdq+y+Rk5oRHxzAOb7P09gz4b+PK/Kmvdo=; b=ul79sf7/5KZuxEtaIszmfoJlMuBgkcJyyXADQpSVSQmsoddnGB9DsW1bmfigc+NCHx z8c0lhcNcRSZiRcnGiv4G/sWQy8JDVEN4tgx+xtwqMTQthWbyMCPEj+r6D84+4PIPaNl m1WGF2Khq+JBxh2dOC4LUbAOJhJSQL4+MesdSzovpDkgz9ZjxcpABSPT/MtfnPGQjQk8 xsSpWtKFFqYj5S9VlVtZ9+ogMQSY4nOatYqIstOKCbuoo47TIODo7R4RBce22wOwXg2w GWXNtIeRBIERN+5kXys3/NcMmxQ4Pi8O4Q8jbJIPo3zOBNugUcLyNIlOhunpmU1JILSa 2PoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8k1drmbOwMdq+y+Rk5oRHxzAOb7P09gz4b+PK/Kmvdo=; b=smvcmQyc8jfRu5rskNkmnA/0zk/H3VPqnIylQGG9Z4e6xK3tfBBf/+vnEFZJXEcV7t ymwDzKHt/9XruSpP0mpSCyZ1WfZCabonnQlqg7sybNqhrTIvbhe8BgLlhmPEDSpMUCGF UPhYRD+Ubb+ilT3qgNCJ+NSdNV2hyiEMPBoehWgnwTAD6gOMA2YIfdEAc8E3s9oeaLjM iAsvQrrsbujObHz4pNJqt5dowT6+4h2LCgju/r2ROijGwgl1IysFIxSR5iSfvrhEFoyF RwNmXprmFdjZQfCCZiOblds9m5GqV+lxFmDwSYlYR4Z8A5QO+BhgQAQ+sipvsSa69NvH WsrQ== X-Gm-Message-State: AO0yUKXRsDJ4ZmZlndRb3uImwFeZXG7SiXl5NjmkpAX53Juy3HnwvBDv x/fF4JbrMQ8FeiVRj3/3fZP4GA== X-Google-Smtp-Source: AK7set8yAIgctGx8UYTK6oh0F+oQN97iUFyWjsTvTB8mnzbot4Qf9QapyYQ7jW+MHh4hEvZ5qsADoA== X-Received: by 2002:adf:fa83:0:b0:2c3:ea86:974e with SMTP id h3-20020adffa83000000b002c3ea86974emr20648893wrr.46.1676302130469; Mon, 13 Feb 2023 07:28:50 -0800 (PST) Received: from localhost.localdomain ([84.245.121.112]) by smtp.gmail.com with ESMTPSA id d13-20020adfe88d000000b002c54f4d0f71sm5848613wrm.38.2023.02.13.07.28.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Feb 2023 07:28:50 -0800 (PST) From: =?UTF-8?q?Juraj=20Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, ohilyard@iol.unh.edu, lijuan.tu@intel.com, bruce.richardson@intel.com, wathsala.vithanage@arm.com, probb@iol.unh.edu Cc: dev@dpdk.org, =?UTF-8?q?Juraj=20Linke=C5=A1?= Subject: [PATCH v4 00/10] dts: add hello world testcase Date: Mon, 13 Feb 2023 16:28:36 +0100 Message-Id: <20230213152846.284191-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230117154906.860916-1-juraj.linkes@pantheon.tech> References: <20230117154906.860916-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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add code needed to run the HelloWorld testcase which just runs the hello world dpdk application. The patchset currently heavily refactors this original DTS code needed to run the testcase: * The whole architecture has been redone into more sensible class hierarchy * DPDK build on the System under Test * DPDK eal args construction, app running and shutting down * Optional SUT hugepage memory configuration * Test runner * Test results * TestSuite class * Test runner parts interfacing with TestSuite * The HelloWorld testsuite itself The code is divided into sub-packages, some of which are divided further. There patch may need to be divided into smaller chunks. If so, proposals on where exactly to split it would be very helpful. v3: Finished refactoring everything in this patch, with test suite and test results being the last parts. Also changed the directory structure. It's now simplified and the imports look much better. I've also many many minor changes such as renaming variables here and there. v4: Made hugepage config optional, users may now specify that in the main config file. Removed HelloWorld test plan and incorporated parts of it into the test suite python file. Updated documentation. Juraj Linkeš (10): dts: add node and os abstractions dts: add ssh command verification dts: add dpdk build on sut dts: add dpdk execution handling dts: add node memory setup dts: add test suite module dts: add hello world testsuite dts: add test suite config and runner dts: add test results module doc: update DTS setup and test suite cookbook doc/guides/tools/dts.rst | 145 +++++++- dts/conf.yaml | 22 +- dts/framework/config/__init__.py | 130 ++++++- dts/framework/config/conf_yaml_schema.json | 172 +++++++++- dts/framework/dts.py | 185 ++++++++-- dts/framework/exception.py | 100 +++++- dts/framework/logger.py | 24 +- dts/framework/remote_session/__init__.py | 30 +- dts/framework/remote_session/linux_session.py | 107 ++++++ dts/framework/remote_session/os_session.py | 175 ++++++++++ dts/framework/remote_session/posix_session.py | 221 ++++++++++++ .../remote_session/remote/__init__.py | 16 + .../remote_session/remote/remote_session.py | 155 +++++++++ .../{ => remote}/ssh_session.py | 91 ++++- .../remote_session/remote_session.py | 95 ------ dts/framework/settings.py | 81 ++++- dts/framework/test_result.py | 316 ++++++++++++++++++ dts/framework/test_suite.py | 254 ++++++++++++++ dts/framework/testbed_model/__init__.py | 20 +- dts/framework/testbed_model/dpdk.py | 78 +++++ dts/framework/testbed_model/hw/__init__.py | 27 ++ dts/framework/testbed_model/hw/cpu.py | 253 ++++++++++++++ .../testbed_model/hw/virtual_device.py | 16 + dts/framework/testbed_model/node.py | 162 +++++++-- dts/framework/testbed_model/sut_node.py | 261 +++++++++++++++ dts/framework/utils.py | 39 ++- dts/tests/TestSuite_hello_world.py | 64 ++++ 27 files changed, 3030 insertions(+), 209 deletions(-) create mode 100644 dts/framework/remote_session/linux_session.py create mode 100644 dts/framework/remote_session/os_session.py create mode 100644 dts/framework/remote_session/posix_session.py create mode 100644 dts/framework/remote_session/remote/__init__.py create mode 100644 dts/framework/remote_session/remote/remote_session.py rename dts/framework/remote_session/{ => remote}/ssh_session.py (65%) delete mode 100644 dts/framework/remote_session/remote_session.py create mode 100644 dts/framework/test_result.py create mode 100644 dts/framework/test_suite.py create mode 100644 dts/framework/testbed_model/dpdk.py create mode 100644 dts/framework/testbed_model/hw/__init__.py create mode 100644 dts/framework/testbed_model/hw/cpu.py create mode 100644 dts/framework/testbed_model/hw/virtual_device.py create mode 100644 dts/framework/testbed_model/sut_node.py create mode 100644 dts/tests/TestSuite_hello_world.py -- 2.30.2