Compare commits
8 Commits
efdbf5fe9c
...
766507972b
Author | SHA1 | Date |
---|---|---|
Zbigniew Jędrzejewski-Szmek | 766507972b | |
Zbigniew Jędrzejewski-Szmek | e72ecbf506 | |
codicodi | d0192e93f8 | |
Evgeny Vereshchagin | 2f0a427b45 | |
Evgeny Vereshchagin | 1f034000a5 | |
Frantisek Sumsal | 7a57256c73 | |
Frantisek Sumsal | e89450921f | |
Frantisek Sumsal | 3be6f50117 |
|
@ -71,5 +71,8 @@ available functionality:
|
|||
See [Testing systemd using sanitizers](https://systemd.io/TESTING_WITH_SANITIZERS)
|
||||
for more information.
|
||||
|
||||
16. Fossies provides [source code misspelling reports](https://fossies.org/features.html#codespell).
|
||||
The systemd report can be found [here](https://fossies.org/linux/test/systemd-master.tar.gz/codespell.html).
|
||||
|
||||
Access to Coverity and oss-fuzz reports is limited. Please reach out to the
|
||||
maintainers if you need access.
|
||||
|
|
|
@ -53,9 +53,10 @@
|
|||
openpgp:"Retrieve openpgp keys for an email"
|
||||
query:"Resolve domain names, IPv4 and IPv6 addresses"
|
||||
reset-server-features:"Flushes all feature level information the resolver has learned about specific servers"
|
||||
reset-statistics:"Resets the statistics counter show in statistics to zero"
|
||||
reset-statistics:"Resets the statistics counter shown in statistics to zero"
|
||||
revert:"Revert the per-interfce DNS configuration"
|
||||
service:"Resolve DNS-SD and SRV services"
|
||||
statistics:"Show resolver statistics"
|
||||
status:"Show the global and per-link DNS settings currently in effect"
|
||||
tlsa:"Query tlsa public keys stored as TLSA resource records"
|
||||
)
|
||||
|
@ -78,10 +79,6 @@ _arguments \
|
|||
'--service[Resolve services]' \
|
||||
'--service-address=no[Do not resolve address for services]' \
|
||||
'--service-txt=no[Do not resolve TXT records for services]' \
|
||||
'--openpgp[Query OpenPGP public key]' \
|
||||
'--tlsa[Query TLS public key]' \
|
||||
'--cname=no[Do not follow CNAME redirects]' \
|
||||
'--search=no[Do not use search domains]' \
|
||||
'--statistics[Show resolver statistics]' \
|
||||
'--reset-statistics[Reset resolver statistics]' \
|
||||
'*::default: _resolvectl_commands'
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
set -e
|
||||
TEST_DESCRIPTION="Job-related tests"
|
||||
TEST_NO_QEMU=1
|
||||
IMAGE_NAME="default"
|
||||
|
||||
. $TEST_BASE_DIR/test-functions
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
TEST_DESCRIPTION="systemd-nspawn smoke test"
|
||||
IMAGE_NAME=nspawn
|
||||
IMAGE_NAME="nspawn"
|
||||
TEST_NO_NSPAWN=1
|
||||
|
||||
. $TEST_BASE_DIR/test-functions
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
TEST_DESCRIPTION="/etc/machine-id testing"
|
||||
IMAGE_NAME=badid
|
||||
IMAGE_NAME="badid"
|
||||
TEST_NO_NSPAWN=1
|
||||
|
||||
. $TEST_BASE_DIR/test-functions
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
TEST_DESCRIPTION="Sysuser-related tests"
|
||||
IMAGE_NAME=sysusers
|
||||
IMAGE_NAME="sysusers"
|
||||
. $TEST_BASE_DIR/test-functions
|
||||
|
||||
test_setup() {
|
||||
|
|
|
@ -18,6 +18,7 @@ EFI_MOUNT="${EFI_MOUNT:-$(bootctl -x 2>/dev/null || echo /boot)}"
|
|||
QEMU_MEM="${QEMU_MEM:-512M}"
|
||||
IMAGE_NAME=${IMAGE_NAME:-default}
|
||||
TEST_REQUIRE_INSTALL_TESTS="${TEST_REQUIRE_INSTALL_TESTS:-1}"
|
||||
TEST_PARALLELIZE="${TEST_PARALLELIZE:-0}"
|
||||
LOOPDEV=
|
||||
|
||||
# Decide if we can (and want to) run QEMU with KVM acceleration.
|
||||
|
@ -329,12 +330,13 @@ systemd.wants=testsuite-$1.service ${_end} \
|
|||
$KERNEL_APPEND \
|
||||
"
|
||||
|
||||
[ -e "$IMAGE_PRIVATE" ] && image="$IMAGE_PRIVATE" || image="$IMAGE_PUBLIC"
|
||||
QEMU_OPTIONS="-smp $QEMU_SMP \
|
||||
-net none \
|
||||
-m $QEMU_MEM \
|
||||
-nographic \
|
||||
-kernel $KERNEL_BIN \
|
||||
-drive format=raw,cache=unsafe,file=${IMAGESTATEDIR}/${IMAGE_NAME}.img \
|
||||
-drive format=raw,cache=unsafe,file=$image \
|
||||
$QEMU_OPTIONS \
|
||||
"
|
||||
|
||||
|
@ -692,16 +694,14 @@ create_empty_image() {
|
|||
_size=$((4*_size))
|
||||
fi
|
||||
|
||||
image="${TESTDIR}/${IMAGE_NAME}.img"
|
||||
public="$IMAGESTATEDIR/${IMAGE_NAME}.img"
|
||||
echo "Setting up $public (${_size} MB)"
|
||||
rm -f "$image" "$public"
|
||||
echo "Setting up $IMAGE_PUBLIC (${_size} MB)"
|
||||
rm -f "$IMAGE_PRIVATE" "$IMAGE_PUBLIC"
|
||||
|
||||
# Create the blank file to use as a root filesystem
|
||||
truncate -s "${_size}M" "$image"
|
||||
ln -vs "$(realpath $image)" "$public"
|
||||
truncate -s "${_size}M" "$IMAGE_PRIVATE"
|
||||
ln -vs "$(realpath $IMAGE_PRIVATE)" "$IMAGE_PUBLIC"
|
||||
|
||||
LOOPDEV=$(losetup --show -P -f "$public")
|
||||
LOOPDEV=$(losetup --show -P -f "$IMAGE_PUBLIC")
|
||||
[ -b "$LOOPDEV" ] || return 1
|
||||
sfdisk "$LOOPDEV" <<EOF
|
||||
,$((_size-50))M
|
||||
|
@ -722,7 +722,7 @@ EOF
|
|||
|
||||
mount_initdir() {
|
||||
if [ -z "${LOOPDEV}" ]; then
|
||||
image="${IMAGESTATEDIR}/${IMAGE_NAME}.img"
|
||||
[ -e "$IMAGE_PRIVATE" ] && image="$IMAGE_PRIVATE" || image="$IMAGE_PUBLIC"
|
||||
LOOPDEV=$(losetup --show -P -f "$image")
|
||||
[ -b "$LOOPDEV" ] || return 1
|
||||
|
||||
|
@ -744,8 +744,7 @@ cleanup_initdir() {
|
|||
umount_loopback() {
|
||||
# unmount the loopback device from all places. Otherwise we risk file
|
||||
# system corruption.
|
||||
image="${IMAGESTATEDIR}/${IMAGE_NAME}.img"
|
||||
for device in $(losetup -l | awk '$6=="'"$image"'" {print $1}'); do
|
||||
for device in $(losetup -l | awk '$6=="'"$IMAGE_PUBLIC"'" {print $1}'); do
|
||||
ddebug "Unmounting all uses of $device"
|
||||
mount | awk '/^'"${device}"'p/{print $1}' | xargs --no-run-if-empty umount -v
|
||||
done
|
||||
|
@ -1215,6 +1214,9 @@ TESTDIR="$TESTDIR"
|
|||
EOF
|
||||
export TESTDIR
|
||||
fi
|
||||
|
||||
IMAGE_PRIVATE="${TESTDIR}/${IMAGE_NAME}.img"
|
||||
IMAGE_PUBLIC="${IMAGESTATEDIR}/${IMAGE_NAME}.img"
|
||||
}
|
||||
|
||||
import_initdir() {
|
||||
|
@ -1964,7 +1966,7 @@ _test_cleanup() {
|
|||
(
|
||||
set +e
|
||||
_umount_dir $initdir
|
||||
rm -vf "${IMAGESTATEDIR}/${IMAGE_NAME}.img"
|
||||
rm -vf "$IMAGE_PUBLIC"
|
||||
rm -vfr "$TESTDIR"
|
||||
rm -vf "$STATEFILE"
|
||||
) || :
|
||||
|
@ -2000,14 +2002,16 @@ test_setup() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
image="${TESTDIR}/${IMAGE_NAME}.img"
|
||||
public="${IMAGESTATEDIR}/${IMAGE_NAME}.img"
|
||||
if [ -e "$image" ]; then
|
||||
echo "Reusing existing image $PWD/$image → $(realpath $image)"
|
||||
if [ -e "$IMAGE_PRIVATE" ]; then
|
||||
echo "Reusing existing image $IMAGE_PRIVATE → $(realpath $IMAGE_PRIVATE)"
|
||||
mount_initdir
|
||||
elif [ -e "$public" ]; then
|
||||
echo "Reusing existing cached image $PWD/$public → $(realpath $public)"
|
||||
ln -s "$(realpath $public)" "$image"
|
||||
elif [ -e "$IMAGE_PUBLIC" ]; then
|
||||
echo "Reusing existing cached image $IMAGE_PUBLIC → $(realpath $IMAGE_PUBLIC)"
|
||||
if [ ${TEST_PARALLELIZE} -ne 0 ]; then
|
||||
cp -v "$(realpath $IMAGE_PUBLIC)" "$IMAGE_PRIVATE"
|
||||
else
|
||||
ln -sv "$(realpath $IMAGE_PUBLIC)" "$IMAGE_PRIVATE"
|
||||
fi
|
||||
mount_initdir
|
||||
else
|
||||
test_create_image
|
||||
|
|
|
@ -27,9 +27,15 @@ build=$WORK/build
|
|||
rm -rf $build
|
||||
mkdir -p $build
|
||||
|
||||
fuzzflag="oss-fuzz=true"
|
||||
if [ -z "$FUZZING_ENGINE" ]; then
|
||||
fuzzflag="llvm-fuzz=true"
|
||||
else
|
||||
fuzzflag="oss-fuzz=true"
|
||||
if [[ "$SANITIZER" == undefined ]]; then
|
||||
UBSAN_FLAGS="-fsanitize=pointer-overflow -fno-sanitize-recover=pointer-overflow"
|
||||
CFLAGS="$CFLAGS $UBSAN_FLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $UBSAN_FLAGS"
|
||||
fi
|
||||
fi
|
||||
|
||||
meson $build -D$fuzzflag -Db_lundef=false
|
||||
|
|
Loading…
Reference in New Issue