From patchwork Tue May 9 07:44:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Schaffner X-Patchwork-Id: 87 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 09 May 2023 09:44:50 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f61.google.com (mail-lf1-f61.google.com [209.85.167.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 3497inOI030640 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 9 May 2023 09:44:49 +0200 Received: by mail-lf1-f61.google.com with SMTP id 2adb3069b0e04-4f13b1c06aasf3267696e87.1; Tue, 09 May 2023 00:44:49 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1683618283; cv=pass; d=google.com; s=arc-20160816; b=V8lkaBukkPLocdhVyOXpYSIzDXxiYd+g6AIsbDI3GyddAzVzvdM2hYa7TS0Uu+83dr h7qflFDeErfEkP7Evs1B3X7g803khQggqP4Lejf9TGSDEIaSMs2yAvjvQZv4AhDzFezD pOlhgQx/+7ywxnNv0b9GrpGmme51NiH9DvAHFV23n0Fg6ZVzr4GUtEIuUGYFogsZTC5N pM0+32OCO/6fhOTaQM/P1x2z7xTZR4G+R2DxA0nDSqTvl0xVyuBUKq395QBthzWDKsjw guYP/JkbBdt7jYkKLKxgjjEQ2MhFnp8IbrCr1lRwWzo45ghimWzloj7nzpW0fUMwtpih Dqeg== 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=GCVZqjhDoM2Pe+8ngtttzbQRS+b0Npv6PeK+LgLahHE=; b=ACcfzPMX4Kgtqq0FfFmQjOdWze2rUNbtjkT6rwTa8CAECH8FrZTMCTDn6Y8Zy+6HLm 0DlWd06rQGrh9RL9jHaq9EsVqahuUbVREIHJx0pHGVugTnVC9q/VZ6NRS24E9Xf7vvyC UMMc/I2qmP13IOcfxPN3Mx0UuEEzqmGnbmVxS6NYQk5D2DcNIJ0n+zK3MzSeVdaYOvYn 9s90UAUmYnoCySHRb30K3K1hkqL1Yo5EJfYBOGFEzFo6YT55wS+dLtaIi2yGeZKdQcCU Q9Awb6BITHCSfFfEgkRcqkvZVuDAoe/UqbhmFAwIYaxG0NdthlOviJIxRilaFHotCTeu 3jew== ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="EV/z/4Ll"; 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:fe0c::623 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=1683618283; x=1686210283; 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=GCVZqjhDoM2Pe+8ngtttzbQRS+b0Npv6PeK+LgLahHE=; b=PCVHW+Ply0d0HRJsEHVcZ8Za5LqLQIXwEKkDuduSiHcMCo/TqQQZaAvfy+t/lVwD65 E7Z07qoDJnkkRo1NFcz1SqNTK0c89bQXJV2hzOZNumKUbtic1TtbdSnGogDP07+BMcvG RzeYkPoOQSVSfE9qQkZ8dnv3giQ1MuP8Up5DB+YNwluKcvSXvXpa0QUDm8dTYzSMptSQ r2YvVM6OArLNdUkHrjLeH4ykC2IpEXG5hJ15JHyDv7X3dWC6ibPuS384pHhUWg3mYLQ8 FgLaD093xfq8OzAUpDWlmZtnTQGIpowqH7AGaOPdHwbMxOtFLJyWwaeiqUhk7TBIuIn4 zT9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683618283; x=1686210283; 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=GCVZqjhDoM2Pe+8ngtttzbQRS+b0Npv6PeK+LgLahHE=; b=Aae/87kYVnYo9rxKqGQ4xTVpF+FK27/oiKKv9Y8wPwPFbNlG5cEB3Q8TS8Nr1disz0 321FriaRIsGJLShqeMU4SDl1ex8eeP1Z+uiZj1rExp2C4w+4zWGNJY5LsIim/OG8lIuM g3BQGpaObJo6FUFhd9KsMMX4NQziDHj7gBDgUiAFWrSYSKoXCMM39a9AXu2PWUoc1WGc n/MHS6WmzcNUxxiCmvoYFxOrKRlQ/Gmmr4pif8ZE5mF9PoYFNTd8/drhepveOMoLhYx9 wPwzHWRxn3aMgWZIeezXYabMi/FYPfSwsUlE50GYz0Cw4CzEFxKnVB4MB1XrEYun/UhK 7lBQ== X-Gm-Message-State: AC+VfDwfSV7vk0mPpfu6zX8Lje055tIggACwQxXS6cpAQnjxFfl77vPA Leb9PZcpjrri+Aw6CFLm2FA= X-Google-Smtp-Source: ACHHUZ5r1hLV2slZWsBQmP+vWKePAdbPLB47Abe+gnY6ueb5dTGO6eoYu9BJtpQlWX6iM/+62LEnVA== X-Received: by 2002:ac2:4d06:0:b0:4f2:4d32:236c with SMTP id r6-20020ac24d06000000b004f24d32236cmr454080lfi.1.1683618283574; Tue, 09 May 2023 00:44:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:651c:1a24:b0:2ad:8fb9:f1b6 with SMTP id by36-20020a05651c1a2400b002ad8fb9f1b6ls298766ljb.0.-pod-prod-01-eu; Tue, 09 May 2023 00:44:42 -0700 (PDT) X-Received: by 2002:ac2:592d:0:b0:4f1:3c41:9819 with SMTP id v13-20020ac2592d000000b004f13c419819mr552813lfi.29.1683618281933; Tue, 09 May 2023 00:44:41 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683618281; cv=pass; d=google.com; s=arc-20160816; b=IMkc9opViuaBHMRLL+Ybaai343bOkvMaOm2l9PGdli+8a+riZV4OpGNO+mnBiRQ9/P Frlo5bHURktYGlVKHqy+ZTwFbbMBW+DC6UZZHCT+jakqSW42nyCTGH8+xgQbRWf01NzO 3oQGnbwfdmbt37Hnsr055f0AoIh/UaiK6h1zaxMh2VeWHZRWwDcwztH9Vz3i3QjFhads YYQ43KYeAATZ1RU5zU3b+yldgl32nxcW0TgwVUmGXIHXREcZb3zyM/CWTJk/1doWdLUC VUgfbr944DsdOQWfysppjt9eMrva/26dLP2p9tP9E61CyDIwCP+bwXzteJd9Nm9i/HU/ I+bg== 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=dWF88kr937OZcfRyhreCesltcJCB1xC6CI858Sm0eV8=; b=qmMKXID5lz3bzlCLGSb1Q4rTFn9zPXfLYJQOh4OpgaA8DQCD+etalNj9VY/a09zuQA UZojHjMUdRGUhkpeMboXam1fFTnlF5lGVagtU+OJ5b8bthX9s24KhCJDfWpWFOMpU901 352nJs47GC27/5LDnVPLIR8ZPnHLpwXLXRll9k7YNgt8ot33NbRelL89GOG6vXeHE53P dBKsM+fmemfCTpi7GpmjnvJjOldUXFw7Qga1FmZ7Drvhojd4bvQ/J2R4YcVUzx/PTbBn Q+EhE4dXxPzhgjZ+fhAJdhNpOD2YZx34mzbtqJpQBHpoQBZS/PHyv45AEitwHlL62nCB JFdA== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b="EV/z/4Ll"; 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:fe0c::623 as permitted sender) smtp.mailfrom=tobias.schaffner@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on0623.outbound.protection.outlook.com. [2a01:111:f400:fe0c::623]) by gmr-mx.google.com with ESMTPS id q15-20020a19430f000000b004f175e991fasi176452lfa.13.2023.05.09.00.44.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 May 2023 00:44:41 -0700 (PDT) Received-SPF: pass (google.com: domain of tobias.schaffner@siemens.com designates 2a01:111:f400:fe0c::623 as permitted sender) client-ip=2a01:111:f400:fe0c::623; ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZpfJGlnYN02B94Lee7XvbQxJW3WPfWHt7NTPk6hRWQkQpA7RNaihfGqWig2Ek/nRJIuI9Lx+TNFM9w1Gb8Crs7XK2vA7keJRFppqTm61YSbgONxbWCqN3Qiz4L0+3QzD18fPhVUGfRafeLyWsmfziYP2/d4CTUmpNiFhkRA2aa9ugMlHragGYQju53kbSqleFbaWMcOVq7+Y37VmvxdgeuI1gOAH2CvDRfQ+SD4llf+BsWvLLGnOmRCG3i+/Bw9n1nNUouI4I1reW2ilEIje1xttSqOnkadHzhw7MuUamCZZVylOUVeEd7kf6hDp2mgPdCXhYtqQ0zzmsg02L1SpQ== 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=dWF88kr937OZcfRyhreCesltcJCB1xC6CI858Sm0eV8=; b=Q/B1WsvGJ+2qocOTwUuyVuPgTYF3Mo9rFuuIuCCE5IlKi7JdMMbKDS2LloyokoGi6TxgD5c5PaiLz7LGVo7JkU7Eu7fZaQ2+GvxPk3llhU+wE5Izhw/vl7/v+8A1/hSesHNyvnpFtitLNsjdXBC2Ga3qFAZsd9OttYlUgCEmZYgvOSc1d5isFMXW1VMHjky25crMg/anezwZMGy3/vE+Je1BT0TQQzpjR2fYGbpbarfy1VTYXVzvXU29mWFtUTAAdt0JSxk4/R9b7oxOLN3XdhNi/FBnX5Q2k2qtle+UiFVdenMgOnfVPMz1k0NNLfkuro2YNq/ODNcg/BrIVzcGUA== 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 OS6P279CA0136.NORP279.PROD.OUTLOOK.COM (2603:10a6:e10:3a::10) by AS8PR10MB6948.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:57f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33; Tue, 9 May 2023 07:44:40 +0000 Received: from HE1EUR01FT014.eop-EUR01.prod.protection.outlook.com (2603:10a6:e10:3a:cafe::8e) by OS6P279CA0136.outlook.office365.com (2603:10a6:e10:3a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.33 via Frontend Transport; Tue, 9 May 2023 07:44:40 +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 HE1EUR01FT014.mail.protection.outlook.com (10.152.0.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.18 via Frontend Transport; Tue, 9 May 2023 07:44:39 +0000 Received: from DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) 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; Tue, 9 May 2023 09:44:39 +0200 Received: from L15-Gen2.fritz.box (139.22.36.202) by DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Tue, 9 May 2023 09:44:38 +0200 X-Patchwork-Original-From: "'T. Schaffner' via isar-users" From: Tobias Schaffner To: CC: , , "Tobias Schaffner" Subject: [PATCH v2 0/4] Rewrite the image-account-extension in python Date: Tue, 9 May 2023 09:44:08 +0200 Message-ID: <20230509074412.86392-1-tobias.schaffner@siemens.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [139.22.36.202] X-ClientProxiedBy: DEMCHDC8WBA.ad011.siemens.net (139.25.226.105) To DEMCHDC8WAA.ad011.siemens.net (139.25.226.104) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: HE1EUR01FT014:EE_|AS8PR10MB6948:EE_ X-MS-Office365-Filtering-Correlation-Id: 97a92fa9-e307-49a9-ef76-08db50613ee9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NpOxGIPAUWiDiT6nqmCNwBCZc10b8oi1DB5juybCoi9+B3cUjkX2IwjwW8HjjpHxnSULPj90tS980OfZsi2sZgwyv7FfztyVwa/+p4btKqtx5ojT0Csra2svChQErY1acVAgB1f5loxRICFSQzl6LrozhlblSaxwKvGcFXrYDSglOpeZH8Bg8I5t2+5hula+AvHHX5+nS1WOtEpU6U+qL/ZVkvXZBEN7lDXICoh2Mr4WXJ0PLegnEnlO3WOEholXQctwOPWnYRECQDrcgj3gpV+VB1UaogPCM/5/qZZjwBRAWp0my2YxXwP5vtUvshEA5JOUx28lm5G0NaLsl/sC/LPiqqPqvbF+hvxLHNO/BASPUMhuSB478vMTJGmQDITYGzAyRvSZQI47vK2ze9fw/XM6Xn7SejaZNtmKqw1lmvxP/WVNYw9aKgGFh3e+CyN2j5tJXegSUEFa/7m4nZV+pxkF9EUcYVh49F7ZGrvuPPPLVIt4+mZJUrx0aG1Rr8UhIeIQqdwUYH4rpzVaCae+iq0Y2S06w7SSbKGraPwPUkpVq3VO8pQVbCbUfAVbru7o6kupBfhlXo+nXzubEg4+jziS/s24mpwSsw8j+iig6esIyuUxXxmNGlBHfxJx2RUPavva0Spm3ALm22YzS4PlLPxqCDOeu2Ao7S8nm5uD62XcneaapVX2cSvcUdBv/C5jcKl1NyLe2jcsP/4nF9CMtg== 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)(136003)(346002)(376002)(396003)(451199021)(40470700004)(36840700001)(46966006)(7636003)(107886003)(54906003)(47076005)(40480700001)(316002)(356005)(82740400003)(83380400001)(7596003)(82960400001)(1076003)(41300700001)(26005)(5660300002)(36860700001)(86362001)(8676002)(8936002)(82310400005)(6916009)(4326008)(70586007)(70206006)(336012)(186003)(16526019)(478600001)(36756003)(956004)(2616005)(40460700003)(2906002)(15650500001)(6666004);DIR:OUT;SFP:1101; X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2023 07:44:39.9531 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 97a92fa9-e307-49a9-ef76-08db50613ee9 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: HE1EUR01FT014.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB6948 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="EV/z/4Ll"; 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:fe0c::623 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 yeaar in copyright of image-account-extension 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