test: introduce TEST-83-BTRFS
The Ubuntu CIs are deny-listed because the shipped btrfs-progs is too old, i.e. doesn't support the recently-added 'filesystem mkswapfile' command.
This commit is contained in:
Symlink
+1
@@ -0,0 +1 @@
|
||||
../TEST-01-BASIC/Makefile
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -e
|
||||
|
||||
TEST_DESCRIPTION="test btrfs-util"
|
||||
|
||||
TEST_NO_NSPAWN=1
|
||||
FSTYPE=btrfs
|
||||
IMAGE_NAME="btrfs"
|
||||
TEST_FORCE_NEWIMAGE=1
|
||||
|
||||
# shellcheck source=test/test-functions
|
||||
. "${TEST_BASE_DIR:?}/test-functions"
|
||||
|
||||
if ! command -v btrfs >/dev/null || ! command -v mkfs.btrfs >/dev/null; then
|
||||
echo "TEST: $TEST_DESCRIPTION [SKIPPED]: btrfs not supported by host" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
test_append_files() {
|
||||
install_btrfs
|
||||
image_install sync
|
||||
}
|
||||
|
||||
do_test "$@"
|
||||
@@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=TEST-83-BTRFS
|
||||
|
||||
[Service]
|
||||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
TEST_BTRFS_OFFSET=/usr/lib/systemd/tests/unit-tests/manual/test-btrfs-physical-offset
|
||||
|
||||
SWAPFILE=/var/tmp/swapfile
|
||||
|
||||
btrfs filesystem mkswapfile -s 10m "$SWAPFILE"
|
||||
sync -f "$SWAPFILE"
|
||||
|
||||
offset_btrfs_progs="$(btrfs inspect-internal map-swapfile -r "$SWAPFILE")"
|
||||
echo "btrfs-progs: $offset_btrfs_progs"
|
||||
|
||||
offset_btrfs_util="$("$TEST_BTRFS_OFFSET" "$SWAPFILE")"
|
||||
echo "btrfs-util: $offset_btrfs_util"
|
||||
|
||||
(( offset_btrfs_progs == offset_btrfs_util ))
|
||||
|
||||
rm -f "$SWAPFILE"
|
||||
|
||||
/usr/lib/systemd/tests/unit-tests/manual/test-btrfs
|
||||
|
||||
touch /testok
|
||||
Reference in New Issue
Block a user