[RFC,v3,0/2] add DTS smoke tests
Message ID | 20230602151332.6404-2-jspewock@iol.unh.edu (mailing list archive) |
---|---|
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]) by inbox.dpdk.org (Postfix) with ESMTP id 5657542C11; Fri, 2 Jun 2023 17:14:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3081C40ED8; Fri, 2 Jun 2023 17:14:14 +0200 (CEST) Received: from mail-pg1-f227.google.com (mail-pg1-f227.google.com [209.85.215.227]) by mails.dpdk.org (Postfix) with ESMTP id 62F5F406B8 for <dev@dpdk.org>; Fri, 2 Jun 2023 17:14:12 +0200 (CEST) Received: by mail-pg1-f227.google.com with SMTP id 41be03b00d2f7-5289ce6be53so2574607a12.0 for <dev@dpdk.org>; Fri, 02 Jun 2023 08:14:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1685718851; x=1688310851; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=mtAdKX2GJb27K/csBnNf2QgS4rIjojtoCiRobBD7nyM=; b=YY7uOaxV66m8hE2o14+IBifJIX1mKAIH4mfT0O34czScAFL6d/ngPDoUK/XcMghHed g2Gnkljq2pPzV/Nc9apPA3WrqZRBdw3b5Ijw3qaPKEYI9tmjzcZX1cMKyimNfwxiUnM+ wA8lm7mogIaJ8tMz8cW2mMZE5u0KxCtWkyVqU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685718851; x=1688310851; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mtAdKX2GJb27K/csBnNf2QgS4rIjojtoCiRobBD7nyM=; b=fBvB1l6Ca7tjXoeDes1oCKILO+Od371Tz/DLEz0CmtuJeLOKUBVDjWjUMvjznGd8Jz gG1Ku8lpBximT72eU8QgOjxcmrjvR3DX/xQ2ktNssV2NPXgMaVNvkUFz/Z/EZjKFqxTk 804HEJ0sSqrX4A0vo/O4EKmqUlh4F5fx9Ef/lAS62Prxv1l69VAKLERg62QitG819Wlz xbmt7ukDxB9ahe9v2RxIE+QhsTShEHFSxfQ0sj3+hI1epCbyMG+UAsTYHcs3/Lhv/QNH 3wFVnHPIQJkIwSeD3NIvZXUeGEE+vktbQwvT6sixEykvMFhyHOECtjmBPcmJ+wyrP1FV g0Jw== X-Gm-Message-State: AC+VfDwPBWIEiDsC28aEsrfj1WNxEpPXVCsXwDtuu7VygEJo3V88e3Jo c0vqhud2jRYu+6FPSQVEUcLg10nYicFBl8VwbPuwVMiBxgorE6LZcYLs8+UVkcjS9w== X-Google-Smtp-Source: ACHHUZ4XDaix11CEH+Mkh81vva/QbxycEoz4EgBNfCtxMvZqc4/IzV8E7m31iW+eZADXxwJKJ1O1cvg7CDmG X-Received: by 2002:a17:902:cec6:b0:1ad:d95d:ca9c with SMTP id d6-20020a170902cec600b001add95dca9cmr149814plg.15.1685718851556; Fri, 02 Jun 2023 08:14:11 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id u11-20020a170902714b00b001b040079c5bsm160127plm.118.2023.06.02.08.14.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Jun 2023 08:14:11 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from iol.unh.edu (unknown [IPv6:2606:4100:3880:1257::1083]) by postal.iol.unh.edu (Postfix) with ESMTP id 46483605246B; Fri, 2 Jun 2023 11:14:10 -0400 (EDT) From: jspewock@iol.unh.edu To: Honnappa.Nagarahalli@arm.com, juraj.linkes@pantheon.tech, thomas@monjalon.net, lijuan.tu@intel.com, wathsala.vithanage@arm.com Cc: dev@dpdk.org, Jeremy Spewock <jspewock@iol.unh.edu> Subject: [RFC v3 0/2] add DTS smoke tests Date: Fri, 2 Jun 2023 11:13:30 -0400 Message-Id: <20230602151332.6404-2-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 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>, <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>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Message
Jeremy Spewock
June 2, 2023, 3:13 p.m. UTC
From: Jeremy Spewock <jspewock@iol.unh.edu>
This update to the RFC addresses comments recieved on the previous about
formatting and implementation. Things that are new to this patch series are:
* New class similar to the RemoteSession that handles interactive remote
sessions
* A keepalive for the interactive SSH session
* Proper paramiko error handling when connecting to the host
* A factory within this new class for creating DPDK applicaiton drivers
* An Enum that represents the different DPDK applications and their
default paths
* Os-agnostic path handling in the SmokeTests test suite
* Stdout and stderr are combined for InteractiveShells
* A way to move the stdout buffer pointer to the end to "empty" the
buffer
* Information gathering moved into respective classes (the test still
exists in the test suite but this can now be removed assuming the new
gathering method is sufficient)
Previous RFCs:
* v2: https://mails.dpdk.org/archives/dev/2023-May/267915.html
* v1: https://mails.dpdk.org/archives/dev/2023-April/266580.html
Jeremy Spewock (2):
dts: add smoke tests
dts: added paramiko to dependencies
dts/conf.yaml | 8 +
dts/framework/config/__init__.py | 88 ++++++++++
dts/framework/config/conf_yaml_schema.json | 32 +++-
dts/framework/dts.py | 26 ++-
dts/framework/exception.py | 12 ++
dts/framework/remote_session/__init__.py | 10 +-
dts/framework/remote_session/os_session.py | 34 +++-
dts/framework/remote_session/posix_session.py | 30 ++++
.../remote_session/remote/__init__.py | 12 ++
.../remote/interactive_remote_session.py | 113 +++++++++++++
.../remote/interactive_shell.py | 98 +++++++++++
.../remote_session/remote/testpmd_shell.py | 58 +++++++
dts/framework/test_result.py | 38 ++++-
dts/framework/test_suite.py | 31 +++-
dts/framework/testbed_model/node.py | 2 +
dts/framework/testbed_model/sut_node.py | 110 +++++++++++-
dts/poetry.lock | 160 ++++++++++++++----
dts/pyproject.toml | 1 +
dts/tests/TestSuite_smoke_tests.py | 109 ++++++++++++
19 files changed, 916 insertions(+), 56 deletions(-)
create mode 100644 dts/framework/remote_session/remote/interactive_remote_session.py
create mode 100644 dts/framework/remote_session/remote/interactive_shell.py
create mode 100644 dts/framework/remote_session/remote/testpmd_shell.py
create mode 100644 dts/tests/TestSuite_smoke_tests.py