]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
wipefs: (tests) add test for all detected signatures
authorThomas Weißschuh <thomas@t-8ch.de>
Sun, 31 Dec 2023 12:32:56 +0000 (13:32 +0100)
committerThomas Weißschuh <thomas@t-8ch.de>
Sun, 31 Dec 2023 12:35:26 +0000 (13:35 +0100)
This is useful to validate that multiple signatures were detected.
Use it for bcachefs, as that prober will gain support for backup
superblocks.

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
tests/expected/wipefs/signatures-bcachefs [new file with mode: 0644]
tests/ts/wipefs/images/bcachefs.img.xz [new file with mode: 0644]
tests/ts/wipefs/signatures [new file with mode: 0755]

diff --git a/tests/expected/wipefs/signatures-bcachefs b/tests/expected/wipefs/signatures-bcachefs
new file mode 100644 (file)
index 0000000..607fe4f
--- /dev/null
@@ -0,0 +1 @@
+0x1018,e1cf0710-c3cb-498b-9453-d5f3e7dbf9cc,,bcachefs
diff --git a/tests/ts/wipefs/images/bcachefs.img.xz b/tests/ts/wipefs/images/bcachefs.img.xz
new file mode 100644 (file)
index 0000000..2c74b96
Binary files /dev/null and b/tests/ts/wipefs/images/bcachefs.img.xz differ
diff --git a/tests/ts/wipefs/signatures b/tests/ts/wipefs/signatures
new file mode 100755 (executable)
index 0000000..7749588
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2023 Thomas Weißschuh <thomas@t-8ch.de>
+#
+# 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="signatures"
+
+. "$TS_TOPDIR"/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_CMD_WIPEFS"
+ts_check_prog "xz"
+
+mkdir -p "${TS_OUTDIR}/images"
+
+for img in $(ls "${TS_SELF}"/images/*.img.xz | sort); do
+       name="$(basename "$img" .img.xz)"
+       outimg="${TS_OUTDIR}/images/${name}.img"
+
+       xz -dc "$img" > "$outimg"
+
+       ts_init_subtest "$name"
+       "$TS_CMD_WIPEFS" --parsable --no-act "$outimg" 2> "$TS_ERRLOG" > "$TS_OUTPUT"
+       ts_finalize_subtest
+done
+
+ts_finalize