From patchwork Thu Mar 30 11:08:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Schaffner X-Patchwork-Id: 84 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 30 Mar 2023 13:08:56 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f185.google.com (mail-lj1-f185.google.com [209.85.208.185]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 32UB8sEe008064 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 30 Mar 2023 13:08:54 +0200 Received: by mail-lj1-f185.google.com with SMTP id k4-20020a05651c10a400b0029a95d83debsf4149083ljn.23; Thu, 30 Mar 2023 04:08:54 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1680174529; cv=pass; d=google.com; s=arc-20160816; b=avJdKQ6XewKgG8Ujhhl9HBvN2eeiI6Lik0eHAyZmY1QSuDWqNbt9JhaTNkK8q7FbEs /BQCrd2MtDqr+eWVtWv0n2RTYA/XFZU1NGRcKWRUTKCG7p11pFR7qMbBA6R9K43Deaya G5tXR9b5mbe/zmU2TneRpgfHb0+ziNDuJ2FN2AciutfxAvcplL4KU4dzFNp0+3LCTKV3 jC0GeBINm0tjstA54OWkIRmHorppWzMz30eGAXoxLfUqZThVJE4KtDMpMvvcKHuajQpU rLIo62n5DZy6ekxL8Cy8jv84MLNp8VFOAhwezhajBLyBGhFI7U/qUcIwUWTN5EaCkq9K KGZQ== 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:mime-version:message-id:date :subject:cc:to:from:sender:dkim-signature; bh=lqFDVi0a/dG8d/gn7E46ls0HIkWnux7z1wM9BFEinZ8=; b=C4EUcw2fUkYDwRFIKzYEXItM946WhOeL8tpFiNJBYW9lPZ3gDosrL0WRFGwI7C2BF8 rOgXWjKb1W2OcDyTCWBOsInNqfkU5yj55T290ErpqpRM6fG55dfiWLi937/epykFO1ge rNpUaD5VAvD9rjuYnjKsaBiACIa8a7LYq1l/4dcCH/ig02Wh36d6+1kC4tGldI/DO+87 n+c1W2i4XmhBDzRi3c6W3xXyUIEJzwiSMRbj6jDonDphfXgrvV/KeUtYTw/c+Iki6bqb o1sxPZFWFqqxw/LVxWrGfev5kjQgqGVhiDB3b9B6pagD5Mga0xdbUu7+aNHjgBbymwVA J7jw== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=zc3c3wKY; 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:fe13::618 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; t=1680174529; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :sender:from:to:cc:subject:date:message-id:reply-to; bh=lqFDVi0a/dG8d/gn7E46ls0HIkWnux7z1wM9BFEinZ8=; b=reSQTeoTHpDD0/msoYELYmuycqdI78LJA2NhyDSBhdUJ5bQbB++I64aEqdesJqeoGe mInYSdivzIeOBo/z0RhSKvSJFHoMXRWcVc96HsuxBJP9uQtLcsPyAcfNGJ9mQpBTWaqF U2/J1bxC4M7cK13UWXiFSSGfNouNtxRlTljsvDdyNb3o3JJ7ZQv8MZkb91e9KL0rY++c YNH54Uny4JfcU6vDiTo30RrRW0PuswCFthWMyI2YSdciBGGfmRLWsFNcYXDKtq2bcA6E fg9Dwwk65hUCvle8kx2QE6kZwh89qz8sZnt9ay7H4i8/0gJ3UzOe9c3sha0qnSuz+/hh XftQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680174529; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:x-gm-message-state:sender:from :to:cc:subject:date:message-id:reply-to; bh=lqFDVi0a/dG8d/gn7E46ls0HIkWnux7z1wM9BFEinZ8=; b=X3EzpZ3AKLNH8SSniQ0acEBE0+1xfCVHGpjRY193xsNerRESYi9dobVeWrEPr4BTvw s8TVfZwX8r3xv6zxDnGagE0fc1PjlzJZYES/ryS/rgwInGfOLTfH5/W98vJ5u8yFEjqg Egy/tqtaZ0PRS2ugox2fVUvzOkvk54O5MnjVuKmx5PIuv+tR0jBnC0MI2gyLE6fB1JAA uo6XaCsB8m4rry6rd2aCcHzsSnv36b122Jobk0yznArvnKrAafTM9NvxdBpUuHDpjDgB Idok3CRpcDy31P6dwVYmgfm8pfEtnQaNBc7g9QWCFWfxJCF3drMbByriTyGeYqMomJXp gEOA== Sender: isar-users@googlegroups.com X-Gm-Message-State: AAQBX9ezuejW29wn1L6J/M8c97MMCKhRtmdyB5bKq9D69aFdjEbNsZRI bEfJtpkBK8Ho5PJOg1FviAs= X-Google-Smtp-Source: AKy350aWe7rGzF08x2Ptix8GopfWiJgNm2E6NlJvwTkS9uLXtyxsHFZyLpvx5l3G4h6Z88Ny9iqTCQ== X-Received: by 2002:a05:651c:1029:b0:2a6:18c0:2b43 with SMTP id w9-20020a05651c102900b002a618c02b43mr620509ljm.0.1680174528645; Thu, 30 Mar 2023 04:08:48 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:b11:b0:4e8:c8b4:347a with SMTP id w17-20020a0565120b1100b004e8c8b4347als214185lfu.1.-pod-prod-gmail; Thu, 30 Mar 2023 04:08:47 -0700 (PDT) X-Received: by 2002:a19:6409:0:b0:4d8:86c1:477f with SMTP id y9-20020a196409000000b004d886c1477fmr1818538lfb.20.1680174527117; Thu, 30 Mar 2023 04:08:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1680174527; cv=pass; d=google.com; s=arc-20160816; b=09N6nGRazwlemicjD0efZyYcnoylHSI/layhx9QullopnDc9mbzzoDw7XXh39OOcVb Zr6c+dkVStF+HZRq3tQIgAqmonKJ0m9OH5SNGWQcF0nz799xxA1NyCZRrRrYj7byYwh1 nhGt4NEIykdoDLZjsQLM0BsavpDz26P0FSpRLsIcP/3YyNHBwhxuHFpo+Nb66EDdWN4v GBNGbzmN3X20wynQcW/5BmflBiVeEOdZ7NX/zm8vpvW1q7fyxfEPldcAf5/myb5KcNNw 5UGFTCEfo7HsmFEadsbHLKDIFI3a7KLwKyiOMvsPIIZAwfZaBHqe3rTHaWhuWWI0mwWl pjAQ== 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=wfiBwBvdLtTkpdTRo+ecIMH4Cuoy1GyfYBfyfO+dZlw=; b=HruZxIPBuKik/lBOLgnOzzuE6cH5urp2mljY18x+2+7sHeiNGz30ZvzvlE/b4YmRSA 6Nkb3sezdthQ7CbUWJjpAGGK2osd3t42LVMLBEtiFjzKaEvM+W81I/wBJQ4d1XPQCSpR QgT5/qbEJycrCfcvYmyKHRW8GuoifiQvjUNs9x5ggM85XNG7j5FwS4go7llu3XpJiu5s VHykejU5nvW7u8q8ik1iggorUU2M21qGYp09PI9A9y1t/aYhlxQhN4FC3M7xO838chAU mcuAXLTStsb411TvRP9UhaUY2srOcIYHMl8JrZJwJqX+syT6ZKemkxME/3pNkrmQA0k7 7GBw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=zc3c3wKY; 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:fe13::618 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on20618.outbound.protection.outlook.com. [2a01:111:f400:fe13::618]) by gmr-mx.google.com with ESMTPS id h4-20020a056512220400b004dd84067a4asi1874993lfu.4.2023.03.30.04.08.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Mar 2023 04:08:46 -0700 (PDT) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:fe13::618 as permitted sender) client-ip=2a01:111:f400:fe13::618; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DlTqRa/qn4ermrBlaX+ykyKLUKe4t6woKMIa3rqiCs2+M1grhUIW3nibEVidj36YKTlZRus8ncFOSCsWQIF4IS69r65Yg2D2ET83KYPDRvO8eSt7w80MlFEZixfOnkadfSRzNY6xYqW2VDUo05p2H14AdmS3Y/4+it3peM28n0DOTU+ldpEWbXp5T2/i9QRK4gZXH5xF8hdNASNUqdrRtvrFAxH1HbwXpGwxPJRvvo66h/LEIowGXHkuoTtNHIkWuG3AWWqREturXC40/0+PXqJrsU55SXIANWOxr8qw2/CbhWkl8ulxNheMaiZNsUXeqY5/CaiPnSXaudi9iIFKZw== 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=wfiBwBvdLtTkpdTRo+ecIMH4Cuoy1GyfYBfyfO+dZlw=; b=JjTWGh9iTTIM1F86yQ3H98L7b+KvzmNTUpqHS1qYDBJTHgt3zrQblB3KZeXhlRhXoUb8vPKIOXRE554VtTWYVK3N2W8RtBM0/IJaBboVfB0p+SYHd+u8ij9Jdi02BZ9h4kKTUIh5ojKpwQ4c+XuIXUH1YfjWFZ0pkP8/B989vfR8LqdZZS8EZk6MtrQy3Yo9fIEu8EriZ7VxKthFWn1Xs4eqpDw/HrBvU8/RhUXWmyKx6foqIcPyS1oQUX1AWg5o27eh7D0ET16xLYyf+RFbcUoKTaqXYi7LahQRU/vv9x2pt2X0JKrsduj2irBfv25wO68F5whBC7k6V4K4WEmJug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 194.138.21.76) smtp.rcpttodomain=googlegroups.com smtp.mailfrom=siemens.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=siemens.com; dkim=none (message not signed); arc=none Received: from DB6PR0301CA0040.eurprd03.prod.outlook.com (2603:10a6:4:3e::50) by GV1PR10MB5841.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:150:50::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.13; Thu, 30 Mar 2023 11:08:45 +0000 Received: from DB5EUR01FT029.eop-EUR01.prod.protection.outlook.com (2603:10a6:4:3e:cafe::97) by DB6PR0301CA0040.outlook.office365.com (2603:10a6:4:3e::50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend Transport; Thu, 30 Mar 2023 11:08:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 194.138.21.76) 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.76 as permitted sender) receiver=protection.outlook.com; client-ip=194.138.21.76; helo=hybrid.siemens.com; pr=C Received: from hybrid.siemens.com (194.138.21.76) by DB5EUR01FT029.mail.protection.outlook.com (10.152.4.241) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22 via Frontend Transport; Thu, 30 Mar 2023 11:08:45 +0000 Received: from DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) by DEMCHDC8VSA.ad011.siemens.net (194.138.21.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Thu, 30 Mar 2023 13:08:44 +0200 Received: from L15-Gen2.fritz.box (139.25.0.85) 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; Thu, 30 Mar 2023 13:08:43 +0200 From: "T. Schaffner" To: CC: , , "Tobias Schaffner" Subject: [PATCH 0/4] Rewrite the image-account-extension in python Date: Thu, 30 Mar 2023 13:08:00 +0200 Message-ID: <20230330110804.1016614-1-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [139.25.0.85] 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: DB5EUR01FT029:EE_|GV1PR10MB5841:EE_ X-MS-Office365-Filtering-Correlation-Id: a44824bf-c3c4-4e71-1087-08db310f2112 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DNBP8c0ITTHwFngo2zvMUJE2KNS/UE8LKYrDlzc5mX2vJ5FJZ/9g/gyrj0uhqHAUfBpLYz7mseWGtzPzBiPZfDDHHO0vRG/3hhkmaCJdB8jLbwL8ikAf1JcAlk0t6TDM2RIBCxho2QtK2aNgsYl/nL22IIMF/rKxObJgyr5lRcVUTGLQ+sTS2XAe7j3BFk6qkm+XGuGq2Jf+7E/+wodl/Pi1cuy3+R99pW4J0WicoPrD1vM3G95QUj807gcseEiJXJyjrquk1DoZmvRI6S7KaYIgQVVnkaNl8saAb/bX9CMKZc+OMYQlbRE3OGS9IstK8jbDLMIRYcnySYNdhadI5lsWguJP3prRFfl29OFUnaVx/3lO7smfZnIyCz8EzRj7Nm5gjttD9dchkK5ZMYAIfyP5EVoOYWEKyU+sqG5fxpmXSRQRC6w4UoF83BnApWnCLak+RepCTnc8gi7jYdGyL3VxIbUG+JWjldWjyjQz1HLizmD7YB8Oz4DpUzXuCJiasEtd1WOLuCluOsss60XBivFEJWlx8oC+O5IsnfQKk2Ug+kueqj36Yy+wqzrnLztM0ffAgAbMJ2CPF9KDd69oyS/kIsZbq1ZRl41sM/z2NlzHNGeuaVVYSHTCcov70CwzECeGO38bu2asHjbPx2X6/q0XWtzrKk4uF0ztUXH/QhOFCH7weqLxyUdyIFS/PVuuHs1+oB7Armd0gvsJiPAZls0aSeteTq3qOnsWiyWfZWs118iSY4XtZhY/MLzBCNIBkvP1nc3vySRH1Xr8DTjsMA== X-Forefront-Antispam-Report: CIP:194.138.21.76;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:hybrid.siemens.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(396003)(346002)(451199021)(46966006)(40470700004)(36840700001)(16526019)(6666004)(83380400001)(107886003)(336012)(86362001)(2616005)(47076005)(186003)(956004)(81166007)(41300700001)(82740400003)(34020700004)(82960400001)(36860700001)(40460700003)(36756003)(5660300002)(6916009)(8936002)(356005)(8676002)(70586007)(70206006)(4326008)(15650500001)(2906002)(26005)(40480700001)(1076003)(316002)(478600001)(54906003)(82310400005)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:08:45.1378 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a44824bf-c3c4-4e71-1087-08db310f2112 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.76];Helo=[hybrid.siemens.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR01FT029.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR10MB5841 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=zc3c3wKY; 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:fe13::618 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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=-0.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, 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. 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 | 145 +++++++ 6 files changed, 380 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