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 463FB41DC6; Fri, 3 Mar 2023 11:25:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19580410D0; Fri, 3 Mar 2023 11:25:14 +0100 (CET) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by mails.dpdk.org (Postfix) with ESMTP id 8C8CB410D0 for ; Fri, 3 Mar 2023 11:25:11 +0100 (CET) Received: by mail-ed1-f50.google.com with SMTP id u9so8386719edd.2 for ; Fri, 03 Mar 2023 02:25:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20210112.gappssmtp.com; s=20210112; t=1677839111; 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=PDCnBElFwicmdhqJzLJF3xMNm+a6hKFU3QjMHBQ+2WU=; b=qDjGb6bhy9LgeMT1P0spqcE+YU1DmeDidI5e4g2TtseW65sgi8/WoQEmoKBipjspCS PeK1vOehqsaKJwuTjzKzYQ7iF52/+5t5UjXLwkNETgagbuXb2Fpi+l8mjDkHLKO92pn7 wcxfhrJQWcqMd7HqTi3Z0mEAtbR00zK7az1Kz7fr9whraeiSdIQY2HcsM8As+VHkk80z 67vwQEuGXSQSWtttHvIaBPKi1i/v8gOLYe1TY1jhcIwZomZtKzrJgq8zwIVo2FfVwhWq LU8fXzsQ59WHM40sH+Qbod/Jz0lMecM0abyb9agNLiUFGmmdVerM1IGhe5Ztzw7uLd/O Rf0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677839111; 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=PDCnBElFwicmdhqJzLJF3xMNm+a6hKFU3QjMHBQ+2WU=; b=YyXoauvMvRDcNOg6Csp9+TEv/gEsRE5U0v9GN9zHp5Vk+QV8QbAuNa7OmwunQaDsGj ythpxQMBUuazfnTBm+ZVHQhN7ATscIAd7XMELfWU/ENCxNq64Z0Dy0bon4//yf8i2NQH Ju+W3Bdu1yUhz3hE8ZtniX+V42aHYUxKGiS4+o6lYBdUDbxv0bz13NPVqo5j/uWEMsHa kgNuS4TzNpm1NkUipDD1iEa5JMcy5F/d30UpzzkCOlBfGFg/IoSdWKLmEGyjVEtpz8dA HppSFD8f0JTQ6MzQyWd0giXn3eFQp9iJXELnz5IowiWaNJBqsjZyhM6wi67idn2uV9aG pnCA== X-Gm-Message-State: AO0yUKVZzOB2qeTdnPz9Us/46rpK/96aPPJ5jkxPwClKQBHTkhXhyVmc L5eFN4l1prpFbl4QuUhnayzMYA== X-Google-Smtp-Source: AK7set9rSxNzS3Z1e7q0XRzgQsDjs9nL+8dehtFOusDalJJMGpwgsa3e1jctYfyxWg64VZxtaq/agw== X-Received: by 2002:aa7:dd0b:0:b0:4af:81f1:5ae4 with SMTP id i11-20020aa7dd0b000000b004af81f15ae4mr918191edv.15.1677839111370; Fri, 03 Mar 2023 02:25:11 -0800 (PST) Received: from localhost.localdomain (ip-46.34.234.35.o2inet.sk. [46.34.234.35]) by smtp.gmail.com with ESMTPSA id j19-20020a508a93000000b004c3e3a6136dsm984028edj.21.2023.03.03.02.25.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Mar 2023 02:25:11 -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 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 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 helloworld 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. 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. v6: Moved utility functions into different files, mainly to remove util.py's dependency on settings.py, but also better code organization. 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 | 221 ++++++++++++ .../remote_session/remote/__init__.py | 16 + .../remote_session/remote/remote_session.py | 155 +++++++++ .../{ => remote}/ssh_session.py | 90 ++++- .../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 | 19 +- 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 | 172 ++++++++-- dts/framework/testbed_model/sut_node.py | 309 +++++++++++++++++ dts/framework/utils.py | 56 +++- dts/tests/TestSuite_hello_world.py | 64 ++++ 26 files changed, 3064 insertions(+), 211 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/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