2017-11-16 05:28:03 +03:00
# This used to live in test-basic.sh, but it's now shared with test-basic-unified.sh
basic_test( ) {
if ostree --repo= ${ repobuild } ls -R ${ treeref } /usr/etc/passwd-; then
assert_not_reached "Found /usr/etc/passwd- backup file in tree"
fi
2018-10-08 00:46:31 +03:00
echo "ok passwd no backups"
validate_passwd( ) {
f = $1
shift
ostree --repo= ${ repobuild } cat ${ treeref } /usr/lib/$f | grep -v '^root' | sort > $f .tree
cat composedata/$f | while read line; do
if ! grep -q " $line " " $f .tree " ; then
echo "Missing entry: %line"
fi
done
}
validate_passwd passwd
validate_passwd group
2017-12-12 17:26:20 +03:00
2019-01-05 23:27:08 +03:00
ostree --repo= ${ repobuild } cat ${ treeref } /usr/etc/default/useradd > useradd.txt
assert_file_has_content_literal useradd.txt HOME = /var/home
2019-02-06 20:04:39 +03:00
ostree --repo= ${ repobuild } cat ${ treeref } \
/usr/etc/selinux/targeted/contexts/files/file_contexts.homedirs > homedirs.txt
2019-02-06 23:54:15 +03:00
assert_file_has_content homedirs.txt '^/var/home'
ostree --repo= ${ repobuild } cat ${ treeref } \
/usr/etc/selinux/targeted/contexts/files/file_contexts.subs_dist > subs_dist.txt
assert_not_file_has_content subs_dist.txt '^/var/home \+'
assert_file_has_content subs_dist.txt '^/home \+/var/home$'
2019-01-05 23:27:08 +03:00
echo "ok etc/default/useradd"
2017-12-12 17:26:20 +03:00
for path in /usr/share/rpm /usr/lib/sysimage/rpm-ostree-base-db; do
ostree --repo= ${ repobuild } ls -R ${ treeref } ${ path } > db.txt
assert_file_has_content_literal db.txt /Packages
done
echo "ok db"
2017-11-16 05:28:03 +03:00
ostree --repo= ${ repobuild } show --print-metadata-key exampleos.gitrepo ${ treeref } > meta.txt
assert_file_has_content meta.txt 'rev.*97ec21c614689e533d294cdae464df607b526ab9'
assert_file_has_content meta.txt 'src.*https://gitlab.com/exampleos/custom-atomic-host'
ostree --repo= ${ repobuild } show --print-metadata-key exampleos.tests ${ treeref } > meta.txt
assert_file_has_content meta.txt 'smoketested.*e2e'
ostree --repo= ${ repobuild } show --print-metadata-key rpmostree.rpmmd-repos ${ treeref } > meta.txt
assert_file_has_content meta.txt 'id.*fedora.*timestamp'
echo "ok metadata"
for path in /boot /usr/lib/ostree-boot; do
ostree --repo= ${ repobuild } ls -R ${ treeref } ${ path } > bootls.txt
assert_file_has_content bootls.txt vmlinuz-
assert_file_has_content bootls.txt initramfs-
echo "ok boot files"
done
vmlinuz_line = $( grep -o '/vmlinuz.*$' bootls.txt)
kver = $( echo ${ vmlinuz_line } | sed -e 's,^/vmlinuz-,,' -e 's,-[0-9a-f]*$,,' )
2019-02-27 17:30:56 +03:00
ostree --repo= ${ repobuild } ls ${ treeref } /usr/lib/modules/${ kver } /vmlinuz >/dev/null
ostree --repo= ${ repobuild } ls ${ treeref } /usr/lib/modules/${ kver } /initramfs.img >ls.txt
assert_file_has_content ls.txt '^-00644'
2017-11-16 05:28:03 +03:00
ostree --repo= ${ repobuild } ls -R ${ treeref } /usr/share/man > manpages.txt
assert_file_has_content manpages.txt man5/ostree.repo.5
echo "ok manpages"
2018-06-22 22:15:04 +03:00
# https://github.com/projectatomic/rpm-ostree/pull/1425
ostree --repo= ${ repobuild } ls ${ treeref } /usr/etc/machine-id
echo "ok machine-id"
2017-12-14 01:17:03 +03:00
ostree --repo= ${ repobuild } ls ${ treeref } usr/etc/systemd/system/multi-user.target.wants/chronyd.service > preset.txt
assert_file_has_content_literal preset.txt '-> /usr/lib/systemd/system/chronyd.service'
echo "ok systemctl preset"
2018-01-02 21:51:18 +03:00
ostree --repo= ${ repobuild } ls -X ${ treeref } usr/bin/docker-current > docker.txt
assert_file_has_content_literal docker.txt 'system_u:object_r:container_runtime_exec_t:s0'
echo "ok container-selinux"
2017-12-08 22:21:04 +03:00
ostree --repo= ${ repobuild } ls ${ treeref } /usr/bin/su > su.txt
assert_file_has_content su.txt '^-04[71][0-7][0-7]'
echo "ok setuid"
2017-12-14 05:42:59 +03:00
ostree --repo= ${ repobuild } ls -X ${ treeref } /usr/bin/ping > ping.txt
assert_file_has_content_literal ping.txt "b'security.capability', [byte"
echo "ok fcaps"
2017-11-16 05:28:03 +03:00
# https://github.com/projectatomic/rpm-ostree/issues/669
ostree --repo= ${ repobuild } ls ${ treeref } /tmp > ls.txt
assert_file_has_content ls.txt 'l00777 0 0 0 /tmp -> sysroot/tmp'
echo "ok /tmp"
ostree --repo= ${ repobuild } ls ${ treeref } /usr/share/rpm > ls.txt
assert_not_file_has_content ls.txt '__db' 'lock'
ostree --repo= ${ repobuild } ls -R ${ treeref } /usr/etc/selinux > ls.txt
assert_not_file_has_content ls.txt 'LOCK'
echo "ok no leftover files"
2017-12-05 22:51:26 +03:00
ostree --repo= ${ repobuild } show ${ treeref } \
--print-metadata-key rpmostree.rpmdb.pkglist > pkglist.txt
assert_file_has_content pkglist.txt 'systemd'
2018-08-22 16:02:25 +03:00
# This is currently a Recommends: package. If you change this, please
# also change the corresponding test in misc-tweaks.sh.
assert_file_has_content pkglist.txt 'systemd-bootchart'
2017-12-15 17:42:10 +03:00
echo "ok compose pkglist"
2017-11-16 05:28:03 +03:00
}
2019-02-26 18:51:14 +03:00
ostree --repo= ${ repobuild } cat ${ treeref } /usr/share/rpm-ostree/treefile.json > treefile.json
assert_jq treefile.json '.basearch == "x86_64"'
echo "ok basearch"