From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7231085468566159360 X-Received: by 2002:ac2:4c9a:0:b0:4f3:b97f:1c8e with SMTP id d26-20020ac24c9a000000b004f3b97f1c8emr1172103lfl.12.1684738559895; Sun, 21 May 2023 23:55:59 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:bcc7:0:b0:2af:3051:12ed with SMTP id z7-20020a2ebcc7000000b002af305112edls48399ljp.1.-pod-prod-01-eu; Sun, 21 May 2023 23:55:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ79jFxTOsahkoZmi9hxXGPvCme7etLccIT8nTL/2CzErb8wV1FPkT8Ijs5vyEI8dqh0T6Z5 X-Received: by 2002:a2e:7811:0:b0:299:2b6d:6e90 with SMTP id t17-20020a2e7811000000b002992b6d6e90mr3863071ljc.34.1684738558438; Sun, 21 May 2023 23:55:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1684738558; cv=pass; d=google.com; s=arc-20160816; b=MZTMKgQKTGxJMCpn7cdt2aGqYsIMvbRPr2TZj8TO3kgf1G9VjqwKANngrbKx/Tr8Xw 7aKe7L3TCYoUkkF6sP9D67YRKwpAvQN8PEl1bI1IZp/FB4tT5q1isSh10yaxSGZE3Tte 0iAKx81lLbz3ppL5NjoEUrHd+LDrgb3ZA6AtGkAflRGlwRRgOg4v3S1DUwHXZG8AGwVo QdDH0ZIyI6AzumMaRR6jZX7/S/VK9Mql053+T/cJZkWc/U10v5mV4Uw9AQCNeFWCX0ZY f2zKfcLT1jtU9/+kfOWVWu+xBlKO/VFTV2SZz7LYbkBi2nM8nvQwjxRlF88czKEC/uwg p1Cw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=CCICa1Uk9yZEkTBeEfzCb3lHpvers8Rn40jJRwwwhJM=; b=Fi9CWcdxqSdUzGGY3q4QMvJNdWzU/hV+GOXhNxnfYn9vUc+uEjrGvuLNCS1klf4DD4 pZGKW4kTHnA7cSrBFnYrZT0dZ6cdXAAz8a7tgr/wa6K0t8DnfefuCu3/m349MZJKWRI/ KktFR7tI8mgdl7lfT/dzT25ogsua89Z39DGVwXdYyBzGaF4am4RBXO0hYWrOl+kQlUV4 4QJHWwPCRaBUaH1PX602KoEj3Asg+vFaZCHrteEEtfdoxQpQ5mB4eU6WB0Z69+7B5nsJ A1SQ/u+3KsgM/7PkOFKJBEVDg4bbz9yxNafoPtge0MA3yPj0MiSHHJeHqd9xWmCPg6Gq IRMQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=EMg0u5OU; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:fe1f::61e as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on061e.outbound.protection.outlook.com. [2a01:111:f400:fe1f::61e]) by gmr-mx.google.com with ESMTPS id bx35-20020a05651c19a300b002af15d1ad3asi312231ljb.8.2023.05.21.23.55.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 21 May 2023 23:55:58 -0700 (PDT) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:fe1f::61e as permitted sender) client-ip=2a01:111:f400:fe1f::61e; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=EMg0u5OU; arc=pass (i=1 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:fe1f::61e as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CTBpc1lcA9kskopyybf7qYiq/+iHG4GO8om1Pwe7DUVt0NdzKc7c7KZ55THDV5L27HqVX+7TSxyMCy50oL0ScZcqtCmtuw3oYQ/g6eYt6j+3WK5KT5giqj7AYBCMKXYgkyxxXyFT66ezsKvdjPXwWfiQe1HZhmCUpOlqDCFXynLxBV/7S/kyI8VPcZDUGGYXWUjO5LRWuIil3zbiClBBsbvVQ3mOxN8kValcSok+mxnXq+RPvigfRss09fEem9IbETEfU4tdXl81dH/NRm+zViCUMqf0CMIayXd9Pb2FD+phrEfMG3EY3EP/+hXRDsk4+5p4XEBvEpUPMd43ugamiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CCICa1Uk9yZEkTBeEfzCb3lHpvers8Rn40jJRwwwhJM=; b=BF/6nqKhrrtmT2MqWk4VuhEgiYl8aS4TU+UrmTXp8wbdNRCGC11zQJ9pnOr7V/46Ht+fRzzwLUvwxHyASmALW7IkwOj5879Cdx7LRggyc7MFdsHJxbD/TOK/0OaYR9Wi29wt05soRK3O83wRvm0YzvSHo6jgU2SUTA/auuo52y++gpkL6+D+RjIvdizFMcqLJz5EWVwpqVm953m/SUidduEFqGJjBoeCDbUYVXjipbKI6mtom+49JHA99MXWvxpkFRtiJaBlQOfQmqLjhNIlq0nqbuaSNPNvBlzeTnKA0ofObd4c98e/UYuIXrlYTiExXiZeQyBLWxhI11kvjGiA0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.74) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CCICa1Uk9yZEkTBeEfzCb3lHpvers8Rn40jJRwwwhJM=; b=EMg0u5OUpZ14+GKlBJDi+R3fndAin8B6x+vvMvY1rCpDzz902SepCSPaTRiOblNdn80rn3sjqqsK+fyYnLmoURhMNWy1OEwRzN+dK3Z56kveRBVRIK8W/NHj+PaYBGEZz0u/TSGJ6D8AoYJefa5sNlWeWpUx+JJ6LhA/bFMyvWT/dKB5XDp5ksYwsdYQg3lvYwm1iA5a1cWNcAfn2bFTVzUj8TrDOBh20tXqeHNPx7JE6MEPmBiAy8k9aW1zbHykzd7JZYQ9pfgPQwmhZ+CYqSXbX0t0SGqmFOv8QYpgMqDttbf31y9LTjnuSNgH2iyIAFDs5YWrDIektE+CVKuRbw== Received: from FR0P281CA0129.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::15) by GV1PR10MB6681.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:82::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.27; Mon, 22 May 2023 06:55:56 +0000 Received: from VE1EUR01FT107.eop-EUR01.prod.protection.outlook.com (2603:10a6:d10:97:cafe::96) by FR0P281CA0129.outlook.office365.com (2603:10a6:d10:97::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.13 via Frontend Transport; Mon, 22 May 2023 06:55:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.74) smtp.mailfrom=siemens.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=siemens.com; Received-SPF: Pass (protection.outlook.com: domain of siemens.com designates 194.138.21.74 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.74; helo=hybrid.siemens.com; pr=C Received: from hybrid.siemens.com (194.138.21.74) by VE1EUR01FT107.mail.protection.outlook.com (10.152.3.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.14 via Frontend Transport; Mon, 22 May 2023 06:55:56 +0000 Received: from DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) by DEMCHDC8VQA.ad011.siemens.net (194.138.21.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Mon, 22 May 2023 08:55:55 +0200 Received: from L15-Gen2.fritz.box (139.22.37.93) by DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Mon, 22 May 2023 08:55:54 +0200 From: "T. Schaffner" To: CC: , , , Tobias Schaffner Subject: [PATCH v3 0/4] Rewrite the image-account-extension in python Date: Mon, 22 May 2023 08:55:27 +0200 Message-ID: <20230522065531.2300448-1-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: tobias.schaffner@siemens.com X-Originating-IP: [139.22.37.93] X-ClientProxiedBy: DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) To DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1EUR01FT107:EE_|GV1PR10MB6681:EE_ X-MS-Office365-Filtering-Correlation-Id: 043a282e-0ee9-4b2b-ff07-08db5a919791 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XGnDYSeLk5niYySJXB2XUJbqLsN1vsDZPJ63/najoQ/R24wufNuwYB7YSUqDv4pGbHeUJ2Nd6h35HvLIT/64eSVjxsivHWKWGEBxZ46KDDbmeTcBGyaWY3I8DTQnM5jQREJo/W2r924sRzPeqvZP4Z1owtuwYFEsNFV/9ESWbpJZutKojmsGyRHa8uX4urkha8alis49gLkhzF6FhYCWky1C4J/vfhIfNZoJlfRkghVFUPrSjsTEdm9N+O1W0Mv8gT/eH0yCMHAiEp8Aa85omgaTHTHpg4bv4ZdMsl9UZbdDa7yDIU9eXuQwM7kF1XMcbuqjO1PXMwJuFWS9+ijfEW/61OF47OP5uxwmjQIvUI9PH3rdIMnWvUyY1u1waABGeKu4gMjN3KqsylYZefLm4ia4xi7U6xZBm7wGk/yvc/B9L+gm2SsWFMGEk2tgqfcZv1AJyx15coIfg7hDD40am2DzeH0NgzL7UsoMQeC2TozwdRfp37p4iuq5kotfQnxAVse4PnjdTUBt2CqdI42QRmfHrXiyvscpxj3AOlpByy9YHZSn2SIKiSjgnvr5LtHY6jeAbnbzihxz2AhLLbbNOb2j1emMHUlxysywEdXOZV1QwCdaR+PkUmue1zXhaBfbcWozUEey2acSRtZ4viE+tkynYNlD0FMyQ3gE+RN9/NoaUIoKHNQd8pAFz3Uj22KFdf+gqKpGxLUYP2O5QlKGAFaBzVDLzTZvXFDjgMuMRD2mTy6Du/whjrdupIwP031k X-Forefront-Antispam-Report: CIP:194.138.21.74;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:hybrid.siemens.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199021)(46966006)(36840700001)(40470700004)(5660300002)(40460700003)(8676002)(8936002)(86362001)(1076003)(26005)(83380400001)(47076005)(2616005)(956004)(2906002)(36756003)(336012)(15650500001)(36860700001)(186003)(16526019)(107886003)(40480700001)(4326008)(6916009)(70206006)(70586007)(7596003)(7636003)(356005)(82740400003)(82960400001)(316002)(54906003)(478600001)(82310400005)(41300700001)(6666004);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2023 06:55:56.1961 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 043a282e-0ee9-4b2b-ff07-08db5a919791 X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;Ip=[194.138.21.74];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR01FT107.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB6681 X-TUID: 6ro9NP+AZvMj From: Tobias Schaffner This allows us to drop a lot of encoding and parsing code that was used to transition to shell and therefore makes it easier to read and maintain. Using python functions for more complex tasks allows us the usage of unittests. A very basic infrastructure for unittesting using the build in python unittest and the bb.parse module was added. This was used to test the re-implementation of the image-account-extension as a first showcase. This is a rebased version of the refactoring part of the "allow creation of users/groups before rootfs creation" patch series to decouple the merge of the simplifications. Changes since v1: - Fix wrong year in copyright of image-account-extension Changes since v2: - Only set system flag if a new group is created and create a unittest that proofs that it is not added for existing groups. Tobias Schaffner (4): simplify image-account-extension create a minimal python unittest infrastructure add unittests for the image-account-extension set minimal python version in user_manual to 3.5 doc/user_manual.md | 2 +- meta/classes/image-account-extension.bbclass | 368 ++++++------------ testsuite/unittests/README.md | 28 ++ testsuite/unittests/bitbake.py | 37 ++ testsuite/unittests/rootfs.py | 45 +++ .../unittests/test_image_account_extension.py | 157 ++++++++ 6 files changed, 392 insertions(+), 245 deletions(-) create mode 100644 testsuite/unittests/README.md create mode 100644 testsuite/unittests/bitbake.py create mode 100644 testsuite/unittests/rootfs.py create mode 100644 testsuite/unittests/test_image_account_extension.py -- 2.34.1