All of lore.kernel.org
 help / color / mirror / Atom feed
* main - tests: make test complaint to local dev dir
@ 2021-03-02 21:58 Zdenek Kabelac
  0 siblings, 0 replies; only message in thread
From: Zdenek Kabelac @ 2021-03-02 21:58 UTC (permalink / raw)
  To: lvm-devel

Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=8d3ce32880da0dc0e0d3b6b397cc3bddaf901dee
Commit:        8d3ce32880da0dc0e0d3b6b397cc3bddaf901dee
Parent:        7528a3363071b201c1f71a15e40cb9855ae169cf
Author:        Zdenek Kabelac <zkabelac@redhat.com>
AuthorDate:    Wed Feb 24 11:54:24 2021 +0100
Committer:     Zdenek Kabelac <zkabelac@redhat.com>
CommitterDate: Tue Mar 2 22:24:51 2021 +0100

tests: make test complaint to local dev dir

For test running in 'local' dev dir we want to see loop devices there.
Also add missing notification to lvmetad after wipefs.
---
 test/shell/allow-mixed-block-sizes.sh | 60 +++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 24 deletions(-)

diff --git a/test/shell/allow-mixed-block-sizes.sh b/test/shell/allow-mixed-block-sizes.sh
index b51232a84..efab1302a 100644
--- a/test/shell/allow-mixed-block-sizes.sh
+++ b/test/shell/allow-mixed-block-sizes.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# Copyright (C) 2019 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2019-2021 Red Hat, Inc. All rights reserved.
 #
 # This copyrighted material is made available to anyone wishing to use,
 # modify, copy, or redistribute it subject to the terms and conditions
@@ -15,32 +15,44 @@ SKIP_WITH_LVMPOLLD=1
 . lib/inittest
 
 losetup -h | grep sector-size || skip
+which fallocate || skip
+which wipefs || skip
 
-dd if=/dev/zero of=loopa bs=$((1024*1024)) count=2 2> /dev/null
-dd if=/dev/zero of=loopb bs=$((1024*1024)) count=2 2> /dev/null
+fallocate -l 2M loopa
+fallocate -l 2M loopb
 LOOP1=$(losetup -f loopa --sector-size 4096 --show)
 LOOP2=$(losetup -f loopb --show)
 
-echo $LOOP1
-echo $LOOP2
-
-aux extend_filter "a|$LOOP1|"
-aux extend_filter "a|$LOOP2|"
-
-not vgcreate --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP1 $LOOP2
-vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1 $LOOP2
-vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
-
-aux wipefs_a $LOOP1
-aux wipefs_a $LOOP2
-
-vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1
-vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
-not vgextend --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP2
-vgextend --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP2
-
-losetup -d $LOOP1
-losetup -d $LOOP2
+# prepare devX mapping so it works for real & fake dev dir
+d=1
+for i in "$LOOP1" "$LOOP2"; do
+	echo "$i"
+	m=${i##*loop}
+	test -e "$DM_DEV_DIR/loop$m" || mknod "$DM_DEV_DIR/loop$m" b 7 "$m"
+	eval "dev$d=\"$DM_DEV_DIR/loop$m\""
+	d=$(( d + 1 ))
+done
+
+aux extend_filter "a|$dev1|" "a|$dev2|"
+
+not vgcreate --config 'devices/allow_mixed_block_sizes=0' $vg "$dev1" "$dev2"
+vgcreate --config 'devices/allow_mixed_block_sizes=1' $vg "$dev1" "$dev2"
+vgs --config 'devices/allow_mixed_block_sizes=1' $vg
+
+for i in "$dev1" "$dev2" ; do
+	wipefs -a "$i"
+	# FIXME - we are not missing notification for hinting
+	# likely in more places - as the test should be able to work without
+	# system's udev working only on real /dev dir.
+	# aux notify_lvmetad "$i"
+done
+
+vgcreate --config 'devices/allow_mixed_block_sizes=1' $vg "$dev1"
+vgs --config 'devices/allow_mixed_block_sizes=1' $vg
+not vgextend --config 'devices/allow_mixed_block_sizes=0' $vg "$dev2"
+vgextend --config 'devices/allow_mixed_block_sizes=1' $vg "$dev2"
+
+losetup -d "$LOOP1"
+losetup -d "$LOOP2"
 rm loopa
 rm loopb
-



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-02 21:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-02 21:58 main - tests: make test complaint to local dev dir Zdenek Kabelac

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.