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:
Mike Yuan
2023-09-19 21:45:27 +08:00
parent efb6a76a2a
commit 2b344ea808
7 changed files with 96 additions and 0 deletions
+8
View File
@@ -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
+25
View File
@@ -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