From: Karel Zak Date: Mon, 30 Nov 2020 09:33:20 +0000 (+0100) Subject: tests: (blkid) add support for multisession images X-Git-Tag: v2.37-rc1~264 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abd78155016b476b01a62b5dac6a9660cd26a874;p=thirdparty%2Futil-linux.git tests: (blkid) add support for multisession images This commit adds support for multisession filesystem images to standard low-probe blkid tests. The expected image name is -multi-[- ...][-].img For example: iso-multi-0-174-348-genisoimage.img.xz triggers three sub-tests: : iso-multi-genisoimage-0 ... OK : iso-multi-genisoimage-174 ... OK : iso-multi-genisoimage-348 ... OK Addresses: https://github.com/karelzak/util-linux/issues/1161 Signed-off-by: Karel Zak --- diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 new file mode 100644 index 0000000000..3a4997a4d7 --- /dev/null +++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 @@ -0,0 +1,9 @@ +ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=first_session +ID_FS_LABEL_ENC=first\x20session +ID_FS_SYSTEM_ID=LINUX +ID_FS_TYPE=iso9660 +ID_FS_USAGE=filesystem +ID_FS_UUID=2020-11-07-23-16-51-00 +ID_FS_UUID_ENC=2020-11-07-23-16-51-00 diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 new file mode 100644 index 0000000000..154802cc7e --- /dev/null +++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 @@ -0,0 +1,9 @@ +ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=second_session +ID_FS_LABEL_ENC=second\x20session +ID_FS_SYSTEM_ID=LINUX +ID_FS_TYPE=iso9660 +ID_FS_USAGE=filesystem +ID_FS_UUID=2020-11-07-23-18-14-00 +ID_FS_UUID_ENC=2020-11-07-23-18-14-00 diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 new file mode 100644 index 0000000000..0af953911f --- /dev/null +++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 @@ -0,0 +1,9 @@ +ID_FS_APPLICATION_ID=GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=third_session +ID_FS_LABEL_ENC=third\x20session +ID_FS_SYSTEM_ID=LINUX +ID_FS_TYPE=iso9660 +ID_FS_USAGE=filesystem +ID_FS_UUID=2020-11-07-23-22-08-00 +ID_FS_UUID_ENC=2020-11-07-23-22-08-00 diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 new file mode 100644 index 0000000000..69735f990b --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=first_session +ID_FS_LABEL_ENC=first\x20session +ID_FS_LOGICAL_VOLUME_ID=first session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa71e760000246c +ID_FS_UUID_ENC=5fa71e760000246c +ID_FS_VERSION=1.02 +ID_FS_VOLUME_ID=first session +ID_FS_VOLUME_SET_ID=5FA71E760000246C diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 new file mode 100644 index 0000000000..fc75ed223f --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=second_session +ID_FS_LABEL_ENC=second\x20session +ID_FS_LOGICAL_VOLUME_ID=second session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa71eba00002500 +ID_FS_UUID_ENC=5fa71eba00002500 +ID_FS_VERSION=1.02 +ID_FS_VOLUME_ID=second session +ID_FS_VOLUME_SET_ID=5FA71EBA00002500 diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 new file mode 100644 index 0000000000..b328d5cdef --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=third_session +ID_FS_LABEL_ENC=third\x20session +ID_FS_LOGICAL_VOLUME_ID=third session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa71eef00002553 +ID_FS_UUID_ENC=5fa71eef00002553 +ID_FS_VERSION=1.02 +ID_FS_VOLUME_ID=third session +ID_FS_VOLUME_SET_ID=5FA71EEF00002553 diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 new file mode 100644 index 0000000000..ad4273f0f1 --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=first_session +ID_FS_LABEL_ENC=first\x20session +ID_FS_LOGICAL_VOLUME_ID=first session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa6f31ee7b7f813 +ID_FS_UUID_ENC=5fa6f31ee7b7f813 +ID_FS_VERSION=2.01 +ID_FS_VOLUME_ID=first session +ID_FS_VOLUME_SET_ID=5fa6f31ee7b7f813LinuxUDF diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 new file mode 100644 index 0000000000..eab71eea63 --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=second_session +ID_FS_LABEL_ENC=second\x20session +ID_FS_LOGICAL_VOLUME_ID=second session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa6f32c75d6d6a6 +ID_FS_UUID_ENC=5fa6f32c75d6d6a6 +ID_FS_VERSION=2.01 +ID_FS_VOLUME_ID=second session +ID_FS_VOLUME_SET_ID=5fa6f32c75d6d6a6LinuxUDF diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 new file mode 100644 index 0000000000..b1f7af00e8 --- /dev/null +++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 @@ -0,0 +1,11 @@ +ID_FS_BLOCK_SIZE=2048 +ID_FS_LABEL=third_session +ID_FS_LABEL_ENC=third\x20session +ID_FS_LOGICAL_VOLUME_ID=third session +ID_FS_TYPE=udf +ID_FS_USAGE=filesystem +ID_FS_UUID=5fa6f33b0f78bab0 +ID_FS_UUID_ENC=5fa6f33b0f78bab0 +ID_FS_VERSION=2.01 +ID_FS_VOLUME_ID=third session +ID_FS_VOLUME_SET_ID=5fa6f33b0f78bab0LinuxUDF diff --git a/tests/ts/blkid/images-fs/iso-multi-0-174-348-genisoimage.img.xz b/tests/ts/blkid/images-fs/iso-multi-0-174-348-genisoimage.img.xz new file mode 100644 index 0000000000..ec15d8ca64 Binary files /dev/null and b/tests/ts/blkid/images-fs/iso-multi-0-174-348-genisoimage.img.xz differ diff --git a/tests/ts/blkid/images-fs/udf-multi-0-320-640-mkudffs.img.xz b/tests/ts/blkid/images-fs/udf-multi-0-320-640-mkudffs.img.xz new file mode 100644 index 0000000000..cac631896e Binary files /dev/null and b/tests/ts/blkid/images-fs/udf-multi-0-320-640-mkudffs.img.xz differ diff --git a/tests/ts/blkid/images-fs/udf-multi-0-417-834-genisoimage.img.xz b/tests/ts/blkid/images-fs/udf-multi-0-417-834-genisoimage.img.xz new file mode 100644 index 0000000000..c1c6fc7bc3 Binary files /dev/null and b/tests/ts/blkid/images-fs/udf-multi-0-417-834-genisoimage.img.xz differ diff --git a/tests/ts/blkid/low-probe b/tests/ts/blkid/low-probe index e617c89b14..3847653cd0 100755 --- a/tests/ts/blkid/low-probe +++ b/tests/ts/blkid/low-probe @@ -32,12 +32,34 @@ for img in $(ls $TS_SELF/images-fs/*.img.xz | sort); do name=$(basename $img .img.xz) outimg=$TS_OUTDIR/images-fs/${name}.img - ts_init_subtest $name - xz -dc $img > $outimg - $TS_CMD_BLKID -p -o udev $outimg 2> $TS_ERRLOG | sort > $TS_OUTPUT - ts_finalize_subtest + # + # multi session images, the image name contains "-multi-" and all + # -- 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