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 1DF2B41D52; Thu, 23 Feb 2023 16:28:46 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB2FB41133; Thu, 23 Feb 2023 16:28:45 +0100 (CET) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by mails.dpdk.org (Postfix) with ESMTP id E3F0640ED5 for ; Thu, 23 Feb 2023 16:28:44 +0100 (CET) Received: by mail-ed1-f43.google.com with SMTP id f13so42912522edz.6 for ; Thu, 23 Feb 2023 07:28:44 -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=C1X1tivC6T/A60ITdrB1J9KchR4vNrD8b0vg4zeJ9QU=; b=C1YQZMKEUz1J6oYnIrqU1ECP71GNr9gCTQ2Ktir/45Zj+qXZAmuz6Ok0dlg9PEStqz QNgaFq5s/r/iXxHZrg5Wi7ZiwSf+3R9ekhSpsuzu0HGcTW0nM732wPYsG/cIHgAnd62T Cl9OQpDyNPBoq41xomJPshQqp6xIIFw0mmafumSCbm/vnPMTTrKb9oTWvUQ2virRjK3Y YCvReB8ZOCx8brMi5JpH3zeUylaF3kQ+w267ZOgmSgbApjrl7SxUb5l7CyuO+RQiybL/ 9rrOQLuTAV7nQDdnjI3BprIWPAbGNrY8h0nLP6mNcg+yUk8SFnysP3KYHrpD2LdcroMh V+5A== 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=C1X1tivC6T/A60ITdrB1J9KchR4vNrD8b0vg4zeJ9QU=; b=sB2uFN6yimRz1dniQihtTAhUnfW2PyKXA8QS3IVnmPefQuHN/vGv/lnepWEJ/F3HR0 KjWKGFWWXk5xK+LDuhuI7InKxbbBGy0dVcqN3A8xrVYhRtrngy6goPbRGz6TPclVBdXb zov5FYjLOYLAUPhHO6cWlcNkQF1K4m17BLD99C+xmD/PVucgJnaUoFyfSNZXXV0I1BtB KivLmo50LHGiYTT8JjK6FVrMj9MOpMU37ntEW6cG8SkhnTkCjfrkYCvafuj43EBDz/jz Erf0GTTsMKTCW0ouTHNEPXZRPY/iPnbxEepQDLjrMvS1XISosW/s/Qo3D/GVSLmNkF1U ATUw== X-Gm-Message-State: AO0yUKUM8ku7lY4dNmZQIRz2dLL/VybCS6klbCuCCVsJakNBs+4XHlmR OQLgNaSI71Y06XAhv5J1sfgxqw== X-Google-Smtp-Source: AK7set+P9jwc0/TLCo+/wGJrobQ24qqtf9QYcJ4FJqNB7fpaliuPsdrTsCTNV7esexRej3SSGUIE+Q== X-Received: by 2002:aa7:d88f:0:b0:4ac:cb71:42c with SMTP id u15-20020aa7d88f000000b004accb71042cmr12700303edq.37.1677166124555; Thu, 23 Feb 2023 07:28:44 -0800 (PST) Received: from localhost.localdomain ([84.245.121.112]) by smtp.gmail.com with ESMTPSA id r6-20020a50c006000000b004af6a8617ffsm1158892edb.46.2023.02.23.07.28.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Feb 2023 07:28:44 -0800 (PST) From: =?UTF-8?q?Juraj=20Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com, bruce.richardson@intel.com, probb@iol.unh.edu Cc: dev@dpdk.org, =?UTF-8?q?Juraj=20Linke=C5=A1?= Subject: [PATCH v5 00/10] dts: add hello world testcase Date: Thu, 23 Feb 2023 16:28:30 +0100 Message-Id: <20230223152840.634183-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230213152846.284191-1-juraj.linkes@pantheon.tech> References: <20230213152846.284191-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 The optional part is DTS either configuring them or not. They still must be configured even the user doesn't want DTS to do that. * 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. 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. v5: Documentation updates about running as root and hugepage configuration. Fixed multiple problems with cpu filtering. Other minor issues, such as typos and renaming variables. 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 | 165 ++++++++- 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 | 222 ++++++++++++ .../remote_session/remote/__init__.py | 16 + .../remote_session/remote/remote_session.py | 155 +++++++++ .../{ => remote}/ssh_session.py | 92 ++++- .../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 | 274 +++++++++++++++ .../testbed_model/hw/virtual_device.py | 16 + dts/framework/testbed_model/node.py | 159 +++++++-- dts/framework/testbed_model/sut_node.py | 260 ++++++++++++++ dts/framework/utils.py | 39 ++- dts/tests/TestSuite_hello_world.py | 64 ++++ 27 files changed, 3068 insertions(+), 210 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 (64%) 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