This requires creating LVM volume group, so create on based on loop dev in /tmp. This is rather rough, but if any of this fails, run the tests anyway - it will simply skip LVM tests.
		
			
				
	
	
		
			28 lines
		
	
	
		
			909 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			909 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
# This is to include LVM-requiring tests in Travis-CI
 | 
						|
if [ "$1" = "setup-lvm" -a -n "$2" ]; then
 | 
						|
    POOL_PATH=$2
 | 
						|
    VG_NAME=`echo $POOL_PATH | cut -f 1 -d /`
 | 
						|
    POOL_NAME=`echo $POOL_PATH | cut -f 2 -d /`
 | 
						|
    if lvs $VG_NAME >/dev/null 2>&1 || lvs $POOL_PATH >/dev/null 2>&1; then
 | 
						|
        echo "WARNING: either VG '$VG_NAME' or thin pool '$POOL_PATH' already exists, not reusing" >&2
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
    set -e
 | 
						|
    loop_file=`mktemp`
 | 
						|
    truncate -s 1G $loop_file
 | 
						|
    loop_dev=`losetup -f --show $loop_file`
 | 
						|
    # auto cleanup
 | 
						|
    rm -f $loop_file
 | 
						|
    vgcreate "$VG_NAME" $loop_dev
 | 
						|
    lvcreate --thinpool "$POOL_NAME" --type thin-pool -L 960M "$VG_NAME"
 | 
						|
    exit 0
 | 
						|
elif [ "$1" = "cleanup-lvm" -a -n "$2" ]; then
 | 
						|
    VG_NAME=`echo $2 | cut -f 1 -d /`
 | 
						|
    set -e
 | 
						|
    pvs=`vgs --noheadings -o pv_name $VG_NAME | tr -d ' '`
 | 
						|
    lvremove -f "$2"
 | 
						|
    vgremove "$VG_NAME"
 | 
						|
    losetup -d $pvs
 | 
						|
    exit 0
 | 
						|
fi
 |