mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
The block-attach command now returns 1 when fails. Update first test
case to expect return value 1 instead of 255.
The parser now doesn't generate output for default values. Remove them
from expected output.
According to 417e6b70 ("libxl: add option for discard support to xl disk
configuration"), the "discard=" variant is never supported, delete two
test cases with that variant.
Reported-by: Jim Fehlig <jfehlig@suse.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
182 lines
3.7 KiB
Bash
Executable File
182 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
if [ -x ./xl ] ; then
|
|
export LD_LIBRARY_PATH=.:../libxc:../xenstore:../blktap2/control
|
|
XL=./xl
|
|
else
|
|
XL=xl
|
|
fi
|
|
|
|
fprefix=tmp.check-xl-disk-parse
|
|
|
|
expected () {
|
|
cat >$fprefix.expected
|
|
}
|
|
|
|
failures=0
|
|
|
|
one () {
|
|
expected_rc=$1; shift
|
|
printf "test case %s...\n" "$*"
|
|
set +e
|
|
${XL} -N block-attach 0 "$@" </dev/null >$fprefix.actual 2>/dev/null
|
|
actual_rc=$?
|
|
diff -u $fprefix.expected $fprefix.actual
|
|
diff_rc=$?
|
|
set -e
|
|
if [ $actual_rc != $expected_rc ] || [ $diff_rc != 0 ]; then
|
|
echo >&2 "test case \`$*' failed ($actual_rc $diff_rc)"
|
|
failures=$(( $failures + 1 ))
|
|
fi
|
|
}
|
|
|
|
complete () {
|
|
if [ "$failures" = 0 ]; then
|
|
echo all ok.; exit 0
|
|
else
|
|
echo "$failures tests failed."; exit 1
|
|
fi
|
|
}
|
|
|
|
e=1
|
|
|
|
|
|
#---------- test data ----------
|
|
#
|
|
# culled from docs/misc/xl-disk-configuration.txt
|
|
|
|
expected </dev/null
|
|
one $e foo
|
|
|
|
expected <<END
|
|
disk: {
|
|
"pdev_path": "/dev/vg/guest-volume",
|
|
"vdev": "hda",
|
|
"format": "raw",
|
|
"readwrite": 1
|
|
}
|
|
|
|
END
|
|
one 0 /dev/vg/guest-volume,,hda
|
|
one 0 /dev/vg/guest-volume,raw,hda,rw
|
|
one 0 "format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume"
|
|
one 0 format=raw vdev=hda access=rw target=/dev/vg/guest-volume
|
|
one 0 raw:/dev/vg/guest-volume,hda,w
|
|
|
|
expected <<END
|
|
disk: {
|
|
"pdev_path": "/root/image.iso",
|
|
"vdev": "hdc",
|
|
"format": "raw",
|
|
"removable": 1,
|
|
"is_cdrom": 1
|
|
}
|
|
|
|
END
|
|
one 0 /root/image.iso,,hdc,cdrom
|
|
one 0 /root/image.iso,,hdc,,cdrom
|
|
one 0 /root/image.iso,raw,hdc,devtype=cdrom
|
|
one 0 "format=raw, vdev=hdc, access=ro, devtype=cdrom, target=/root/image.iso"
|
|
one 0 format=raw vdev=hdc access=ro devtype=cdrom target=/root/image.iso
|
|
one 0 raw:/root/image.iso,hdc:cdrom,ro
|
|
|
|
expected <<EOF
|
|
disk: {
|
|
"pdev_path": "/dev/vg/guest-volume",
|
|
"vdev": "xvdb",
|
|
"backend": "phy",
|
|
"format": "raw",
|
|
"readwrite": 1
|
|
}
|
|
|
|
EOF
|
|
one 0 backendtype=phy,vdev=xvdb,access=w,target=/dev/vg/guest-volume
|
|
|
|
expected <<EOF
|
|
disk: {
|
|
"pdev_path": "",
|
|
"vdev": "hdc",
|
|
"format": "empty",
|
|
"removable": 1,
|
|
"is_cdrom": 1
|
|
}
|
|
|
|
EOF
|
|
one 0 devtype=cdrom,,,hdc
|
|
one 0 ,,hdc:cdrom,r
|
|
one 0 ,hdc:cdrom,r
|
|
one 0 vdev=hdc,access=r,devtype=cdrom,target=
|
|
one 0 ,empty,hdc:cdrom,r
|
|
|
|
expected <<EOF
|
|
disk: {
|
|
"vdev": "hdc",
|
|
"format": "empty",
|
|
"removable": 1,
|
|
"is_cdrom": 1
|
|
}
|
|
|
|
EOF
|
|
one 0 vdev=hdc,access=r,devtype=cdrom,format=empty
|
|
one 0 vdev=hdc,access=r,devtype=cdrom
|
|
|
|
expected <<EOF
|
|
disk: {
|
|
"pdev_path": "iqn.2001-05.com.equallogic:0-8a0906-23fe93404-c82797962054a96d-examplehost",
|
|
"vdev": "xvda",
|
|
"format": "raw",
|
|
"script": "block-iscsi",
|
|
"readwrite": 1
|
|
}
|
|
|
|
EOF
|
|
|
|
# http://backdrift.org/xen-block-iscsi-script-with-multipath-support
|
|
one 0 iscsi:iqn.2001-05.com.equallogic:0-8a0906-23fe93404-c82797962054a96d-examplehost,xvda,w
|
|
one 0 vdev=xvda,access=w,script=block-iscsi,target=iqn.2001-05.com.equallogic:0-8a0906-23fe93404-c82797962054a96d-examplehost
|
|
|
|
expected <<EOF
|
|
disk: {
|
|
"pdev_path": "app01",
|
|
"vdev": "hda",
|
|
"format": "raw",
|
|
"script": "block-drbd",
|
|
"readwrite": 1
|
|
}
|
|
|
|
EOF
|
|
|
|
# http://lists.linbit.com/pipermail/drbd-user/2008-September/010221.html
|
|
# http://www.drbd.org/users-guide-emb/s-xen-configure-domu.html
|
|
one 0 drbd:app01,hda,w
|
|
|
|
expected <<END
|
|
disk: {
|
|
"pdev_path": "/some/disk/image.raw",
|
|
"vdev": "hda",
|
|
"format": "raw",
|
|
"readwrite": 1,
|
|
"discard_enable": "True"
|
|
}
|
|
|
|
END
|
|
one 0 discard vdev=hda target=/some/disk/image.raw
|
|
one 0 discard vdev=hda target=/some/disk/image.raw
|
|
|
|
expected <<END
|
|
disk: {
|
|
"pdev_path": "/some/disk/image.iso",
|
|
"vdev": "hda",
|
|
"format": "raw",
|
|
"removable": 1,
|
|
"is_cdrom": 1,
|
|
"discard_enable": "False"
|
|
}
|
|
|
|
END
|
|
one 0 cdrom no-discard vdev=hda target=/some/disk/image.iso
|
|
|
|
complete
|