summaryrefslogtreecommitdiffstats
path: root/tests/ts/blkid/low-probe
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:30:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:30:35 +0000
commit378c18e5f024ac5a8aef4cb40d7c9aa9633d144c (patch)
tree44dfb6ca500d32cabd450649b322a42e70a30683 /tests/ts/blkid/low-probe
parentInitial commit. (diff)
downloadutil-linux-upstream.tar.xz
util-linux-upstream.zip
Adding upstream version 2.38.1.upstream/2.38.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ts/blkid/low-probe')
-rwxr-xr-xtests/ts/blkid/low-probe66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/ts/blkid/low-probe b/tests/ts/blkid/low-probe
new file mode 100755
index 0000000..3847653
--- /dev/null
+++ b/tests/ts/blkid/low-probe
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="superblocks probing"
+
+. $TS_TOPDIR/functions.sh
+
+ts_init "$*"
+
+ts_check_test_command "$TS_CMD_BLKID"
+ts_check_prog "xz"
+
+mkdir -p $TS_OUTDIR/images-fs
+
+for img in $(ls $TS_SELF/images-fs/*.img.xz | sort); do
+ name=$(basename $img .img.xz)
+ outimg=$TS_OUTDIR/images-fs/${name}.img
+
+ xz -dc $img > $outimg
+
+ #
+ # multi session images, the image name contains "-multi-" and all
+ # -<numbers>- are interpreted as offset to the sessions. The offset is
+ # calculated in 2048 sectors. For example: iso-multi-0-174-348-genisoimage.img
+ #
+ if [[ $name =~ (.*multi.*) ]]; then
+ sessions=$(echo "$name" \
+ | awk 'BEGIN { RS="-" } /^[[:digit:]]+$/ { print $0 }')
+ name=$(echo "$name" \
+ | awk 'BEGIN { RS="-"; ORS="-" } !/^[[:digit:]]+$/ { print $1 }' \
+ | sed 's/-$//g')
+ for off in $sessions; do
+ ts_init_subtest $name-$off
+ $TS_CMD_BLKID -p -o udev $outimg \
+ --hint session_offset=$(( $off * 2048 )) \
+ 2> $TS_ERRLOG | sort > $TS_OUTPUT
+ ts_finalize_subtest
+ done
+ #
+ # Standard filesystem images
+ #
+ else
+ ts_init_subtest $name
+ $TS_CMD_BLKID -p -o udev $outimg 2> $TS_ERRLOG | sort > $TS_OUTPUT
+ ts_finalize_subtest
+ fi
+done
+
+ts_finalize
+