Hi Jeff, Thanks for your very useful information! We will take a look at it to do the needful.
-Rakesh On 10/28/16, 2:50 PM, "Jeff Cody" <jc...@redhat.com> wrote: >On Fri, Oct 28, 2016 at 01:26:41AM +0000, Rakesh Ranjan wrote: >> Hi Jeff et al, >> >> Thanks a lot for your due diligence to review the code changes throughly >> and providing comments, suggestions to improve. We are completely on top >> of this and have already started to expedite the overall development. >> >> We would like to get you help regarding the applicability of >>qemu-iotests >> test harness against a QEMU block driver which doesn¹t support create >> operation. Where we can find the detailed document regarding >>qemu-iotests >> test harness and and it¹s dependency on a particular block driver? >> >> We have enhanced the test server utility (qnio_server) a bit and >>conducted >> manual tests, which mainly includes qemu-img convert and qemu-io read >>and >> write operations. >> >> # libqnio/src/test/ >> >> @ Create vDisk file of size 10G >> >> # ./create_vdisk.sh >> Usage: create_vdisk <filename> <size in MB> >> >> >> # ./create_vdisk.sh /qemublk_test/vDisk1 10240 >> >> >> # ls -lhs /qemublk_test/vDisk1 >> 1.1M -rw-r--r-- 1 root root 10G Oct 27 17:02 /qemublk_test/vDisk1 >> >> >> >> @ Start qnio_server >> >> # ./qnio_server -h >> Usage: qnio_server [-d <directory>] [-p] [-v] [-h] >> d -> Vdisk directory >> p -> Run commands in separate thread >> h -> Help >> v -> Verbose >> >> >> # ./qnio_server -d /qemublk_test/ >> >> >> >> @ Convert qcow2 image to vxhs raw format >> >> # ./qemu-img convert -f qcow2 -O raw -n /qemublk_test/centos-64.qcow2 >> vxhs://127.0.0.1:9999/vDisk1 >> > >Hi Rakesh, > >The qemu-iotests are located in the qemu tree, under 'tests/qemu-iotests'. > >I don't know of any formal documenation out here, but here are the basics: > > >To run an individual iotest, you can run the test from within the >tests/qemu-iotests directory, e.g.: > ># cd tests/qemu-iotests > ># ./check -qcow2 002 > >What this will do is run the test case 002 with the format qcow2. The >output of that test is checked against 002.out, and if there are >differences, an error is reported. > >What is implicit in the above check command is the protocol type of >'file'. >If you wanted to run that test using a different protocol (for instance, >'nfs'), you can do: > ># ./check -qcow2 -nfs 002 > >You need to extend qemu-iotests to be aware of the vxhs:// protocol. > >To do this, you'll need to modify these files: > >tests/qemu-iotests/common.rc >tests/qemu-iotests/common > > >If you search for some of the other protocol drivers, you should see what >you need to change; for instance, 'sheepdog', 'nfs', 'ssh', etc.. are all >protocol drivers. > >One difference is, as you noted, that you cannot create an image using >your >protocol. > >This means you will need to either: > >A) Let the test framework create the test image like normal, and then have >the test script launch the test QNIO server, > >B) Do the image creation, and server launch, manually outside the script. >This isn't optimal because then the testers (e.g. me, and other block >maintainers) need to remember what steps to perform. > > >For the basis of a simple test, you can look at test 002. It should be a >good starting point. You'll need to create a new test as a file named >after >the existing tests (you need the ??? and ???.out files), and then modify >the >'group' file to include the test). > > >Generally, it is best if the test if a separate patch in the series. > >Jeff