Merge pull request #27698 from mrc0mmand/test-tweaks

test: a couple of performance-related tweaks
This commit is contained in:
Frantisek Sumsal 2023-05-19 15:29:35 +02:00 committed by GitHub
commit 2808a9fc36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 33 deletions

View file

@ -7,7 +7,6 @@ IMAGE_NAME="selinux"
TEST_NO_NSPAWN=1
# Requirements:
# Fedora 23
# selinux-policy-targeted
# selinux-policy-devel
@ -21,38 +20,41 @@ SETUP_SELINUX=yes
KERNEL_APPEND="${KERNEL_APPEND:=} selinux=1 security=selinux"
test_append_files() {
(
local workspace="${1:?}"
local policy_headers_dir=/usr/share/selinux/devel
local modules_dir=/var/lib/selinux
local workspace="${1:?}"
local policy_headers_dir=/usr/share/selinux/devel
local modules_dir=/var/lib/selinux
setup_selinux
# Make sure we never expand this to "/..."
rm -rf "${workspace:?}/$modules_dir"
setup_selinux
# Make sure we never expand this to "/..."
rm -rf "${workspace:?}/$modules_dir"
if ! cp -ar "$modules_dir" "$workspace/$modules_dir"; then
dfatal "Failed to copy $modules_dir"
exit 1
fi
if ! cp -ar "$modules_dir" "$workspace/$modules_dir"; then
dfatal "Failed to copy $modules_dir"
exit 1
fi
rm -rf "${workspace:?}/$policy_headers_dir"
inst_dir /usr/share/selinux
rm -rf "${workspace:?}/$policy_headers_dir"
inst_dir /usr/share/selinux
if ! cp -ar "$policy_headers_dir" "$workspace/$policy_headers_dir"; then
dfatal "Failed to copy $policy_headers_dir"
exit 1
fi
if ! cp -ar "$policy_headers_dir" "$workspace/$policy_headers_dir"; then
dfatal "Failed to copy $policy_headers_dir"
exit 1
fi
mkdir "$workspace/systemd-test-module"
cp systemd_test.te "$workspace/systemd-test-module"
cp systemd_test.if "$workspace/systemd-test-module"
cp systemd_test.fc "$workspace/systemd-test-module"
image_install -o sesearch
image_install runcon
image_install checkmodule semodule semodule_package m4 make load_policy sefcontext_compile
image_install -o /usr/libexec/selinux/hll/pp # Fedora/RHEL/...
image_install -o /usr/lib/selinux/hll/pp # Debian/Ubuntu/...
)
mkdir "$workspace/systemd-test-module"
cp systemd_test.te "$workspace/systemd-test-module"
cp systemd_test.if "$workspace/systemd-test-module"
cp systemd_test.fc "$workspace/systemd-test-module"
image_install -o sesearch
image_install runcon
image_install checkmodule semodule semodule_package m4 make load_policy sefcontext_compile
image_install -o /usr/libexec/selinux/hll/pp # Fedora/RHEL/...
image_install -o /usr/lib/selinux/hll/pp # Debian/Ubuntu/...
if ! chroot "$workspace" make -C /systemd-test-module -f /usr/share/selinux/devel/Makefile clean systemd_test.pp; then
dfatal "Failed to build the systemd test module"
exit 1
fi
}
do_test "$@"

View file

@ -1513,8 +1513,8 @@ check_coverage_reports() {
return 1
fi
# Create a coverage report that will later be uploaded. Remove info about
# system libraries/headers, as we don't really care about them.
# Create a coverage report that will later be uploaded. Remove info about system
# libraries/headers and generated files, as we don't really care about them.
lcov --directory "${root}/${BUILD_DIR:?}" --capture --output-file "${dest}.new"
if [[ -f "$dest" ]]; then
# If the destination report file already exists, don't overwrite it, but
@ -1526,7 +1526,7 @@ check_coverage_reports() {
# report we did during the setup phase (see test_setup()).
lcov --add-tracefile "${TESTDIR:?}/coverage-base" --add-tracefile "${dest}.new" -o "${dest}"
fi
lcov --remove "$dest" -o "$dest" '/usr/include/*' '/usr/lib/*'
lcov --remove "$dest" -o "$dest" '/usr/include/*' '/usr/lib/*' "${BUILD_DIR:?}/*"
rm -f "${dest}.new"
# If the test logs contain lines like:

View file

@ -9,7 +9,7 @@ Before=sysinit.target shutdown.target autorelabel.service
ConditionSecurity=selinux
[Service]
ExecStart=sh -x -c 'echo 0 >/sys/fs/selinux/enforce && cd /systemd-test-module && make -f /usr/share/selinux/devel/Makefile clean load'
ExecStart=sh -x -c 'echo 0 >/sys/fs/selinux/enforce && make -C /systemd-test-module -f /usr/share/selinux/devel/Makefile load'
Type=oneshot
TimeoutSec=0
RemainAfterExit=yes

View file

@ -8,7 +8,8 @@ trap "journalctl --rotate --vacuum-size=16M" EXIT
# Rotation/flush test, see https://github.com/systemd/systemd/issues/19895
journalctl --relinquish-var
for _ in {0..50}; do
[[ "$(systemd-detect-virt -v)" == "qemu" ]] && ITERATIONS=10 || ITERATIONS=50
for ((i = 0; i < ITERATIONS; i++)); do
dd if=/dev/urandom bs=1M count=1 | base64 | systemd-cat
done
journalctl --rotate