selftest-users: Convoluted selftest for USERADD_DEPENDS

This adds a test for 13904's fix by creating a convoluted set of recipes
with USERADD_DEPENDS in non-alpha order.

(From OE-Core rev: bfff81195cb9ba2493e366022470b2e0051d8071)

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Eilís 'pidge' Ní Fhlannagáin 2024-02-23 13:25:21 +00:00 committed by Richard Purdie
parent f6daeba2e9
commit 396bc832b7
5 changed files with 140 additions and 0 deletions

View File

@ -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/*"

View File

@ -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/*"

View File

@ -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/*"

View File

@ -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
}

View 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")