diff options
author | Panu Matilainen <pmatilai@redhat.com> | 2023-03-17 09:25:51 +0200 |
---|---|---|
committer | Panu Matilainen <pmatilai@redhat.com> | 2023-03-30 13:59:28 +0300 |
commit | fb040f16ec09a10c47f968d995c5bb770b8a7a64 (patch) | |
tree | 0548614074f75216b9ef7020f2c0fb7a42d44209 | |
parent | 6e03ef19a6b166d7b35ca0952e6091f557b892ca (diff) | |
download | rpm-fb040f16ec09a10c47f968d995c5bb770b8a7a64.tar.gz |
Add a proper testcase for full sysusers.d file automation
-rw-r--r-- | tests/data/SPECS/klang.spec | 63 | ||||
-rw-r--r-- | tests/rpmi.at | 43 |
2 files changed, 106 insertions, 0 deletions
diff --git a/tests/data/SPECS/klang.spec b/tests/data/SPECS/klang.spec new file mode 100644 index 000000000..7e917fdc7 --- /dev/null +++ b/tests/data/SPECS/klang.spec @@ -0,0 +1,63 @@ +Name: klang +Version: 1.0 +Release: 1 +BuildArch: noarch +License: GPL +Summary: Klang frobnizer + +%description +%{summary} + +%package common +Summary: %{SUMMARY} common + +%description common +%{summary} + +%package client +Summary: %{SUMMARY} client + +%description client +%{summary} + +%package server +Summary: %{SUMMARY} server + +%description server +%{summary} + +%install +mkdir -p ${RPM_BUILD_ROOT}/var/lib/klangd +mkdir -p ${RPM_BUILD_ROOT}/usr/bin/ +mkdir -p ${RPM_BUILD_ROOT}/etc +mkdir -p ${RPM_BUILD_ROOT}/%{_sysusersdir} + +echo "aaaa" > ${RPM_BUILD_ROOT}/usr/bin/klang +echo "bbbb" > ${RPM_BUILD_ROOT}/usr/bin/klangd +echo "xxxx" > ${RPM_BUILD_ROOT}/etc/klang.cfg + +cat << EOF > ${RPM_BUILD_ROOT}/%{_sysusersdir}/klang.conf +g klang - +EOF + +cat << EOF > ${RPM_BUILD_ROOT}/%{_sysusersdir}/klangd.conf +u klangd - "Klang server" /var/lib/klangd /sbin/nologin +EOF +cat << EOF > ${RPM_BUILD_ROOT}/%{_sysusersdir}/plong.conf +u plong - "Plong fu" /var/lib/plong /sbin/nologin +g klong - +EOF + +%files common +%{_sysusersdir}/klang.conf +%attr(-,-,klang) /etc/klang.cfg + +%files client +%attr(-,-,klang) /usr/bin/klang + +%files server +%{_sysusersdir}/klangd.conf +%{_sysusersdir}/plong.conf +%attr(-,klangd,klangd) /var/lib/klangd +%attr(-,plong,klong) /var/lib/klangd +/usr/bin/klangd diff --git a/tests/rpmi.at b/tests/rpmi.at index 747008493..9d74cf689 100644 --- a/tests/rpmi.at +++ b/tests/rpmi.at @@ -1474,3 +1474,46 @@ runroot rpm -V ${VERIFYOPTS} deptest-user ], []) AT_CLEANUP + +AT_SETUP([rpm -i sysusers]) +AT_KEYWORDS([install build sysusers]) +RPMDB_INIT + +runroot rpmbuild -bb --quiet /data/SPECS/klang.spec + +AT_CHECK([ +runroot rpm -U /build/RPMS/noarch/klang-client-1.0-1.noarch.rpm +], +[1], +[], +[error: Failed dependencies: + group(klang) is needed by klang-client-1.0-1.noarch +]) + +AT_CHECK([ +runroot rpm -U \ + /build/RPMS/noarch/klang-client-1.0-1.noarch.rpm \ + /build/RPMS/noarch/klang-common-1.0-1.noarch.rpm +runroot_other grep ^klang /etc/group | cut -f1 -d: +runroot rpm -V ${VERIFYOPTS} klang-client klang-common +], +[0], +[klang +], +[ignore]) + +AT_CHECK([ +runroot rpm -U /build/RPMS/noarch/klang-server-1.0-1.noarch.rpm +runroot_other grep ^klangd /etc/passwd | cut -f1 -d: +runroot_other grep ^klangd /etc/group | cut -f1 -d: +runroot_other grep ^plong /etc/passwd | cut -f1 -d: +runroot rpm -V ${VERIFYOPTS} klang-server +], +[0], +[klangd +klangd +plong +], +[ignore]) + +AT_CLEANUP |