]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
selftest-users: Convoluted selftest for USERADD_DEPENDS
authorEilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Fri, 23 Feb 2024 13:25:21 +0000 (13:25 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Feb 2024 16:10:19 +0000 (16:10 +0000)
This adds a test for 13904's fix by creating a convoluted set of recipes
with USERADD_DEPENDS in non-alpha order.

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta-selftest/recipes-test/selftest-users/acreategroup.bb [new file with mode: 0644]
meta-selftest/recipes-test/selftest-users/bcreategroup.bb [new file with mode: 0644]
meta-selftest/recipes-test/selftest-users/ccreategroup.bb [new file with mode: 0644]
meta-selftest/recipes-test/selftest-users/dcreategroup.bb [new file with mode: 0644]
meta/lib/oeqa/selftest/cases/usergrouptests.py

diff --git a/meta-selftest/recipes-test/selftest-users/acreategroup.bb b/meta-selftest/recipes-test/selftest-users/acreategroup.bb
new file mode 100644 (file)
index 0000000..66ed569
--- /dev/null
@@ -0,0 +1,32 @@
+SUMMARY = "creategroup_a"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+S = "${WORKDIR}"
+
+EXCLUDE_FROM_WORLD="1"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u 5560 --gid a_group a_user"
+GROUPADD_PARAM:${PN} = "-r a_group"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+       install -d   ${TESTDIR}
+       install -d   ${TESTDIR}/dir
+       touch        ${TESTDIR}/file
+       ln -s ./file ${TESTDIR}/symlink
+       install -d   ${TESTDIR}/fifotest
+       mkfifo       ${TESTDIR}/fifotest/fifo
+
+       chown    a_user:a_group ${TESTDIR}/file
+       chown -R a_user:a_group ${TESTDIR}/dir
+       chown -h a_user:a_group ${TESTDIR}/symlink
+       chown -R a_user:a_group ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
diff --git a/meta-selftest/recipes-test/selftest-users/bcreategroup.bb b/meta-selftest/recipes-test/selftest-users/bcreategroup.bb
new file mode 100644 (file)
index 0000000..c4844dd
--- /dev/null
@@ -0,0 +1,37 @@
+SUMMARY = "creategroup_b"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+# This recipe requires a and c. C requires A. Reverse alpha.
+
+USERADD_DEPENDS = "acreategroup ccreategroup"
+
+S = "${WORKDIR}"
+
+EXCLUDE_FROM_WORLD="1"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u 5561 -g b_group -G a_group,c_group b_user "
+GROUPADD_PARAM:${PN} = "-r b_group"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+       install -d   ${TESTDIR}
+       install -d   ${TESTDIR}/dir
+       touch        ${TESTDIR}/file
+       ln -s ./file ${TESTDIR}/symlink
+       install -d   ${TESTDIR}/fifotest
+       mkfifo       ${TESTDIR}/fifotest/fifo
+
+       chown    a_user:a_group ${TESTDIR}/file
+       chown -R c_user:c_group ${TESTDIR}/dir
+       chown -h a_user:a_group ${TESTDIR}/symlink
+       chown -R b_user:b_group ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
+
diff --git a/meta-selftest/recipes-test/selftest-users/ccreategroup.bb b/meta-selftest/recipes-test/selftest-users/ccreategroup.bb
new file mode 100644 (file)
index 0000000..021b1eb
--- /dev/null
@@ -0,0 +1,34 @@
+SUMMARY = "creategroup_c"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+USERADD_DEPENDS = "acreategroup"
+
+S = "${WORKDIR}"
+
+EXCLUDE_FROM_WORLD="1"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u 5563 --gid c_group -G a_group c_user"
+GROUPADD_PARAM:${PN} = "-r c_group"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+       install -d   ${TESTDIR}
+       install -d   ${TESTDIR}/dir
+       touch        ${TESTDIR}/file
+       ln -s ./file ${TESTDIR}/symlink
+       install -d   ${TESTDIR}/fifotest
+       mkfifo       ${TESTDIR}/fifotest/fifo
+
+       chown    c_user:c_group ${TESTDIR}/file
+       chown -R c_user:c_group ${TESTDIR}/dir
+       chown -h c_user:c_group ${TESTDIR}/symlink
+       chown -R c_user:c_group ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
diff --git a/meta-selftest/recipes-test/selftest-users/dcreategroup.bb b/meta-selftest/recipes-test/selftest-users/dcreategroup.bb
new file mode 100644 (file)
index 0000000..b96ca92
--- /dev/null
@@ -0,0 +1,33 @@
+SUMMARY = "creategroup_d"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+USERADD_DEPENDS = "bcreategroup"
+
+S = "${WORKDIR}"
+
+EXCLUDE_FROM_WORLD="1"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u 5564 -g d_group -G b_group d_user "
+GROUPADD_PARAM:${PN} = "-r d_group"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+       install -d   ${TESTDIR}
+       install -d   ${TESTDIR}/dir
+       touch        ${TESTDIR}/file
+       ln -s ./file ${TESTDIR}/symlink
+       install -d   ${TESTDIR}/fifotest
+       mkfifo       ${TESTDIR}/fifotest/fifo
+
+       chown    d_user:d_group ${TESTDIR}/file
+       chown -R d_user:b_group ${TESTDIR}/dir
+       chown -h d_user:d_group ${TESTDIR}/symlink
+       chown -R d_user:b_group ${TESTDIR}/fifotest
+}
+
index a331ca9f2c4a27bdd446ef1a54335a5274172906..3c59b0f29080f662215113f7d3c72ace6ac3d8d0 100644 (file)
@@ -22,6 +22,10 @@ class UserGroupTests(OESelftestTestCase):
         # Test for YOCTO #14961
         self.assertTrue(bitbake('useraddbadtask -C fetch'))
 
+    def test_postinst_order(self):
+        self.logger.info("Building dcreategroup")
+        self.assertTrue(bitbake(' dcreategroup'))
+
     def test_static_useradd_from_dynamic(self):
         metaselftestpath = get_test_layer()
         self.logger.info("Building core-image-minimal to generate passwd/group file")