From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 31 May 2023 17:31:31 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q4NnQ-004QrH-RH for lore@lore.pengutronix.de; Wed, 31 May 2023 17:31:31 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1q4NnN-0007B0-3x; Wed, 31 May 2023 17:31:29 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q4NnL-00079p-G3 for oss-tools@pengutronix.de; Wed, 31 May 2023 17:31:27 +0200 Received: from [2a0a:edc0:0:1101:1d::54] (helo=dude05.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1q4NnK-0049CB-Qn for oss-tools@pengutronix.de; Wed, 31 May 2023 17:31:26 +0200 Received: from afa by dude05.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1q4NnK-005uKx-2O for oss-tools@pengutronix.de; Wed, 31 May 2023 17:31:26 +0200 From: Ahmad Fatoum To: oss-tools@pengutronix.de Date: Wed, 31 May 2023 17:31:20 +0200 Message-Id: <20230531153125.1408092-1-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [OSS-Tools] [PATCH 0/5] Add meson support and first test suite X-BeenThere: oss-tools@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: Pengutronix Public Open-Source-Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "OSS-Tools" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: oss-tools-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false The barebox,state binding is quite complex and we have a lot of udev parsing code that can only be exercised by manually running barebox-state on the target. Make development less error prone, by adding tests for the block device bindings. EEPROM and MTD can follow later. Tests are executed by meson as a runner. Patches to teach autotools to do the same are welcome, although I think we should follow RAUC's steps and eventually deprecate autotools once meson is on par. The obvious wart is that we build with -fvisibility=hidden on autotools, but with meson the same visibility option results in linker errors. I have no idea why yet, but that should only make meson-built libdt-utils a bit slower without functional change. Ahmad Fatoum (5): Add meson as build system state: add option to lock device node meson: add simple integration test libdt: add CONFIG_TEST_LOOPBACK test: add barebox-state loop block device tests .gitignore | 2 + README | 21 + check-news.sh | 82 ++ configure.ac | 11 + meson.build | 163 ++++ meson_options.txt | 25 + src/barebox-state.c | 30 +- src/barebox-state/state.c | 4 + src/barebox-state/state.h | 21 + src/dt/dt.h | 1 - src/libdt.c | 50 +- test/01-fixed-partition-no-gpt.dts | 34 + ...2-fixed-partition-before-gpt-partition.dts | 34 + test/03-fixed-partition-is-gpt-partition.dts | 34 + test/04-gpt-partition-by-partuuid.dts | 31 + test/05-gpt-partition-by-typeuuid.dts | 23 + test/06-fixed-partition-by-diskuuid.dts | 33 + test/07-raw-disk-fail.dts | 18 + test/08-gpt-disk-no-typeuuid-fail.dts | 18 + ...-partition-overlaps-two-gpt-partitions.dts | 34 + ...-overlaps-two-gpt-partitions-partially.dts | 34 + ...-fixed-partition-part-of-gpt-partition.dts | 34 + test/barebox-state.dtsi | 53 ++ test/barebox-state.t | 229 +++++ test/crc32.c | 18 + test/gpt-no-typeuuid.config | 33 + test/gpt.config | 35 + test/meson.build | 36 + test/raw.config | 24 + test/sharness.sh | 857 ++++++++++++++++++ version-gen | 3 + version.h.in | 3 + 32 files changed, 2012 insertions(+), 16 deletions(-) create mode 100755 check-news.sh create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 test/01-fixed-partition-no-gpt.dts create mode 100644 test/02-fixed-partition-before-gpt-partition.dts create mode 100644 test/03-fixed-partition-is-gpt-partition.dts create mode 100644 test/04-gpt-partition-by-partuuid.dts create mode 100644 test/05-gpt-partition-by-typeuuid.dts create mode 100644 test/06-fixed-partition-by-diskuuid.dts create mode 100644 test/07-raw-disk-fail.dts create mode 100644 test/08-gpt-disk-no-typeuuid-fail.dts create mode 100644 test/31-fixed-partition-overlaps-two-gpt-partitions.dts create mode 100644 test/32-fixed-partition-overlaps-two-gpt-partitions-partially.dts create mode 100644 test/33-fixed-partition-part-of-gpt-partition.dts create mode 100644 test/barebox-state.dtsi create mode 100755 test/barebox-state.t create mode 100644 test/crc32.c create mode 100644 test/gpt-no-typeuuid.config create mode 100644 test/gpt.config create mode 100644 test/meson.build create mode 100644 test/raw.config create mode 100755 test/sharness.sh create mode 100755 version-gen create mode 100644 version.h.in -- 2.39.2