From patchwork Thu May 11 09:14:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 126818 Return-Path: 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 3532142A1B; Thu, 11 May 2023 11:14:14 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0AF9242D62; Thu, 11 May 2023 11:14:14 +0200 (CEST) Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by mails.dpdk.org (Postfix) with ESMTP id 13DA542D5E for ; Thu, 11 May 2023 11:14:13 +0200 (CEST) Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-965ddb2093bso1171979066b.2 for ; Thu, 11 May 2023 02:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20221208.gappssmtp.com; s=20221208; t=1683796452; x=1686388452; 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=iZ67FlUPvyhC6HUz4gn9YPIE7TNVrtCKCUUe5RkfDVk=; b=iv56oxt9QQmGy6m4VjKAjltzHlLKh2be7HsuZD/op5KLsRD7alJwl1D2dPSiX28ZuQ ZIHqo3/bmcNzJ3bTmhIvL0TahDJvNLiuReGjQE3X0bY5TFrkyXjOTbrxZ40yXf8PyU1L c7M230PIgadSyMfHrEU4xyQGM6DfBy1qUnk3iq7ZylhoCSLIFibdsWDmMSZ//BHMTAEs wNJlG1bAvbBtflBzPAeGG2y7ct6OL0hclbfDqJT4+Bn6G2UI7QtI8HNoujzWWkNuGLIq i+4/jmTs55sKFcnCStZvS+CfAoH79tiETgkpybP7a2I0ea4ca2t1I3FGoorNuDcKLk+7 oTIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683796452; x=1686388452; 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=iZ67FlUPvyhC6HUz4gn9YPIE7TNVrtCKCUUe5RkfDVk=; b=gDxQY5unKfp/0NIj/LKLnGd6lYbyDussIY/TqSDIBLAgmuGSPai1Py+SuezBXJE7f+ 0DpLEJ0YxIvcEA7LvrZ3PEpB2jF2g/HSRI2zcY1G0XTfELQWRnlTSc+t2kimHJlE2aLS Easm6agY/S1+aMbrxoO70Xe9B/tqpJAjVO0jduc0sl5/RqyqRp28/9xXdYX17abqeqX8 kFZtGvC1dtZgBK8ZeRdyKYiGr6vLmpY6vUQUvJEP767qxqwUYmE6sA//89gsrI3qNIHD N01SzSx+bxwO1O4twCUwjN8T1TXXwvY6om8KVuHIZZcG84lK0yAbXqWyg9ofzr1ZpTp1 NX7A== X-Gm-Message-State: AC+VfDwkabHhM3S5uhQW+qAaR8x+HDBLLp3hx1k2s6yduP5qvv2gN+CL 8cpo/De5akEEc43d03eIc1TYXg== X-Google-Smtp-Source: ACHHUZ7xqjSVaL3NlNB6nZpYRqNhhgP0Ulmy+Pq7C+HwiIZQGkNhL/Ir+SwkR5mgdvrBqr/46CDuxQ== X-Received: by 2002:a17:907:3d9e:b0:96a:bb6:7309 with SMTP id he30-20020a1709073d9e00b0096a0bb67309mr8325231ejc.62.1683796452676; Thu, 11 May 2023 02:14:12 -0700 (PDT) Received: from localhost.localdomain (ip-46.34.233.151.o2inet.sk. [46.34.233.151]) by smtp.gmail.com with ESMTPSA id qa8-20020a170907868800b0096a2eaa508asm1710090ejc.168.2023.05.11.02.14.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 May 2023 02:14:12 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com, bruce.richardson@intel.com, wathsala.vithanage@arm.com, jspewock@iol.unh.edu, probb@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [RFC PATCH v3 0/4] dts: add dts api docs Date: Thu, 11 May 2023 11:14:04 +0200 Message-Id: <20230511091408.236638-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230504123749.1417259-1-juraj.linkes@pantheon.tech> References: <20230504123749.1417259-1-juraj.linkes@pantheon.tech> MIME-Version: 1.0 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 Augment the meson build system with dts api generation. The api docs are generated from Python docstrings in DTS using Sphinx. The format of choice is the Google format [0]. The guides html sphinx configuration is used to preserve the same style. The build requires the same Python version and dependencies as DTS, because Sphinx imports the Python modules. Dependencies are installed using Poetry from the dts directory: poetry install --with docs After installing, enter the Poetry shell: poetry shell And then run the build: ninja -C dts/doc There's only one properly documented module that serves as a demonstration of the style - framework.testbed_model.node. When we agree on the docstring format, all docstrings will be reformatted. [0] https://google.github.io/styleguide/pyguide.html#s3.8.4-comments-in-classes Juraj Linkeš (4): dts: code adjustments for sphinx dts: add doc generation dependencies dts: add doc generation dts: format docstrigs to google format buildtools/call-sphinx-build.py | 29 +- doc/api/meson.build | 1 + doc/guides/conf.py | 22 +- doc/guides/meson.build | 1 + doc/guides/tools/dts.rst | 29 + dts/doc/doc-index.rst | 20 + dts/doc/meson.build | 51 ++ dts/framework/config/__init__.py | 11 + .../{testbed_model/hw => config}/cpu.py | 13 + dts/framework/dts.py | 8 +- dts/framework/remote_session/__init__.py | 3 +- dts/framework/remote_session/linux_session.py | 2 +- dts/framework/remote_session/os_session.py | 12 +- .../remote_session/remote/__init__.py | 16 - .../{remote => }/remote_session.py | 0 .../{remote => }/ssh_session.py | 0 dts/framework/settings.py | 55 +- dts/framework/testbed_model/__init__.py | 10 +- dts/framework/testbed_model/hw/__init__.py | 27 - dts/framework/testbed_model/node.py | 164 ++-- dts/framework/testbed_model/sut_node.py | 9 +- .../testbed_model/{hw => }/virtual_device.py | 0 dts/main.py | 3 +- dts/meson.build | 16 + dts/poetry.lock | 770 ++++++++++++++++-- dts/pyproject.toml | 7 + dts/tests/TestSuite_hello_world.py | 6 +- meson.build | 1 + meson_options.txt | 2 + 29 files changed, 1058 insertions(+), 230 deletions(-) create mode 100644 dts/doc/doc-index.rst create mode 100644 dts/doc/meson.build rename dts/framework/{testbed_model/hw => config}/cpu.py (95%) delete mode 100644 dts/framework/remote_session/remote/__init__.py rename dts/framework/remote_session/{remote => }/remote_session.py (100%) rename dts/framework/remote_session/{remote => }/ssh_session.py (100%) delete mode 100644 dts/framework/testbed_model/hw/__init__.py rename dts/framework/testbed_model/{hw => }/virtual_device.py (100%) create mode 100644 dts/meson.build