From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7231085468566159360 X-Received: by 2002:ac2:4428:0:b0:4f1:abfe:b1b3 with SMTP id w8-20020ac24428000000b004f1abfeb1b3mr427695lfl.6.1683618283627; 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-Google-Smtp-Source: ACHHUZ5fzcz/Xm5joMNs5r/JsSEArkFwFfQ7FNIddzvD0Ddzk6D8+PaScrdB/vvFA1Xyb2GQ/Yb/ 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 Return-Path: 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; 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 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 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=dWF88kr937OZcfRyhreCesltcJCB1xC6CI858Sm0eV8=; b=EV/z/4LljPPsmt/HoXWR4/2TPrA8lz8D/mSBRiWsg0+Ut+iKhl2wCIYdhHfHxC7w4MSqwfteL+A+BvTY8sqLNDTKE/6k5qx1RR95LSGf5teuln+ktWHG/g4wRwEqDC8pBmcsDeXO147XUj5HFsGnfLzipFEGtpEZFJRIcl5/Z2PMLIEwh4+eiXkTqkXhFFF+PTsFO6RxX3pPRPallVr8aaBM24WINj71l/R3j1m5a35N+C2PTAKj49UQPd99mM6/RTWQ4IERYWl6tFqSWIFZxU+AlJYgzW7D0py52IeqM+xJVQFb0ikC15S93RJyGkXHC2S09iSGGg4lqGBzjgjebg== 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 From: "T. 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 Content-Transfer-Encoding: 8bit Content-Type: text/plain Return-Path: tobias.schaffner@siemens.com 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-TUID: EAH0eAzg7Oze 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 -- 2.34.1