From patchwork Mon May 22 06:55:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Schaffner X-Patchwork-Id: 91 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 22 May 2023 08:56:06 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f183.google.com (mail-lj1-f183.google.com [209.85.208.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 34M6u5AG015501 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 08:56:05 +0200 Received: by mail-lj1-f183.google.com with SMTP id 38308e7fff4ca-2af1a18584bsf20076611fa.2; Sun, 21 May 2023 23:56:05 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1684738560; cv=pass; d=google.com; s=arc-20160816; b=N6ZDfnDP/Cb5jIdbka+4gJFZ+p179j8zrfCVNAVj33aENAhiCZrIAuF22EpEQpxqdD WZA5sVJDdNJQ43kHneKRKqGBCuhLf6ui4XsOFx5Tf3gSJYtlLqVzJFDyq5UBB5tsiOw/ jwmTXxHgzHkL0BQdtgKzPHUrIAsLggGv8WayOon/TCw4P0a9t4MYNUYVqTtyfkxqPV3T +cyYDWDxIzVJZS/7VJbnj/wVbcFfcZxVJ3vzWLMW8fD+eioYvWPX+F2KX2sF2CvoJOpb iq+UB3FlTMtjU6bLz4ncW8tE+oLEOOXEMhPZE29H3CWWBdUSZCrH7o6ScFM8THAgXj7U mCLw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:message-id :date:subject:cc:to:from:dkim-signature; bh=m69s90AQ1KFWi6VOq0x4VsyfSX9UIc9//zobt3vgAfI=; b=E2a39S343hMX54I1p8/lDQ+ZaDosh3DmPIa7z/D4niT24S/1Lhm3jB9G4qYPklelvC YVmpwebO6pAKCTBaoFc3Odxw01uGRIhPOegaqblME4JoPqnSgLD9tOYUUpwihAj8/Un4 /s7MrZYzcQs7Fy/+CtnkTaszuyl0j4/H/UB1Npc6ez9tEacewMjSkke6BP8OROJYZtkY t7T0sS83iwaJ+xq5MScy5/mkzi89hpQwNsQDO4z1uMxK5EoP+VGhyUUZtbTsZ6fyqAF+ ls7RQ6x9K7iz6xsIf43o+IGLYy9uqX6Ss4pfiebMOFdp5l0LM6eM7EGnLRSEwrLUsblI OmlQ== ARC-Authentication-Results: i=3; 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1684738560; x=1687330560; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=m69s90AQ1KFWi6VOq0x4VsyfSX9UIc9//zobt3vgAfI=; b=YMAlHUFsoXc0E0qKko39mDA/ywVBKEtXL3aFWMDXTjuxq4CxK70Eg98BXhOHonBAMO 3VLn3t9NvxCUgYrXfQ/iEwcDJjFLf6Vt0K8isOoZ6Lbr4ETS7cgIHbxHj8zSdeqfKzq8 IdTGl6/lUfPeBLaGMaCjTxQDSBCZvYXg5vaVQZ6Yo4iohcBuI0abDJ0mpY+T38qE5Gik 8reBCMPB0BA9DJDRgwED2zEGsYnUGbgHTSlGDJeZ9cVfFwrVXEtegYGLBbcGEljqXExC 0d3ZHmj9JewEPn8Gp/+N7ev6BjFQqFnpLLGqhG37Irhuqn0wvqfMRPAdrtINVhHeTen9 pkVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684738560; x=1687330560; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=m69s90AQ1KFWi6VOq0x4VsyfSX9UIc9//zobt3vgAfI=; b=Y4pyqErBcSmsgdJcuiOgkYG1d1Jt/z21eOOD8pZHBzUp2rHsCsySFn9aCJzkVaOqmD DYNlUDtp+hrMp/4RsCCUwENbSKt8PD0kcEUNXXwDWNAU8eTvXxeVFkNOQLMzqGYhQ+Jy WBY24hPjC8nn7Fr8fsd2tPABy2+hPM6xdTVXyWkMxQ1O+PmF4I/nqazrUY4rjp9mAsg8 BE8NUa2zACOeHKTur2TEhIz0VUsCeFYDWvnAHk8ZRaJQaDvRVJC6TuJmq+PopuacN2it F4CCaUffuXGniw8kEfAwla9p3wvTpD297hDYSZOAk7KOjSaEB/skSxV3rmhQtJ+QxYW4 6T9Q== X-Gm-Message-State: AC+VfDw/QHZq5T7NkfMeIB49laNZl8apRIya/Nuelv2z4b1FNHdVQ2uV 9DpgTYa+R+hHCBQP1VbrL9g= X-Google-Smtp-Source: ACHHUZ6Uwv16i3OISUJaM/OXmqv4xFJd7AIH+FkN0rpmK9pWywW5k1IWMdDoUvgaOIe4ge5KEjr7Zg== X-Received: by 2002:a2e:3506:0:b0:2ad:d6cd:efe7 with SMTP id z6-20020a2e3506000000b002add6cdefe7mr2354292ljz.7.1684738559813; 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-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 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; 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 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 X-Patchwork-Original-From: "'T. Schaffner' via isar-users" From: Tobias 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 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-Original-Sender: tobias.schaffner@siemens.com X-Original-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 X-Original-From: "T. Schaffner" Reply-To: "T. Schaffner" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= 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