summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests: fix out-of-tree building for lm32 targetMichael Walle2012-03-311-5/+8
| | | | Signed-off-by: Michael Walle <michael@walle.cc>
* qtest: avoid a warning with RTC testBlue Swirl2012-03-301-3/+3
| | | | | | | | | | | Avoid this warning on OpenBSD: CC tests/rtc-test.o /src/qemu/tests/rtc-test.c: In function 'check_time': /src/qemu/tests/rtc-test.c:171: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t' /src/qemu/tests/rtc-test.c:173: warning: format '%ld' expects type 'long int', but argument 2 has type 'time_t' Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qtest: fix out of tree buildBlue Swirl2012-03-301-0/+2
| | | | | | | Trace objects are also needed if tracing is enabled. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qtest: add rtc-test test-caseAnthony Liguori2012-03-302-0/+268
| | | | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qtest: add C version of test infrastructureAnthony Liguori2012-03-303-3/+746
| | | | | | | | | This also includes a qtest wrapper script to make it easier to launch qtest tests directly. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* test makefile overhaulPaolo Bonzini2012-03-3014-44/+3336
| | | | | | | | | | | | This introduces new test reporting infrastructure based on gtester and gtester-report. Also, all existing tests are moved to tests/, and tests/Makefile is reorganized to factor out the commonalities in the rules. Signed-off-by: Anthony Liguori <aliguori@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* qapi: add strict mode to input visitorPaolo Bonzini2012-03-271-1/+4
| | | | | | | | | | | | While QMP in general is designed so that it is possible to ignore unknown arguments, in the case of the QMP server it is better to reject them to detect bad clients. In fact, we're already doing this at the top level in the argument checker. To extend this to complex structures, add a mode to the input visitor where it checks for unvisited keys and raises an error if it finds one. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* test: add test-qmp-commands to make checkMichael Roth2012-03-261-0/+1
| | | | | | | | All the deps are here but the test was never added to the list of tests for make check Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* test: remove qemu-ga referenceMichael Roth2012-03-261-1/+1
| | | | | | | This was added by mistake a while back. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* Add 'make check-block'Kevin Wolf2012-03-122-1/+27
| | | | | | Runs the full qemu-iotests suite for various image formats. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* make check: Add qemu-iotests subsetKevin Wolf2012-03-122-0/+22
| | | | | | Run the 'quick' group from qemu-iotests during 'make check'. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* qemu-iotests: Mark some tests as quickKevin Wolf2012-03-121-12/+12
| | | | | | | | This creates a new test group 'quick' for some test case that take at most a couple of seconds each, so that the group can be run during a quick 'make check' Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* Merge branch 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensaBlue Swirl2012-03-032-0/+224
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'xtensa' of git://jcmvbkbc.spb.ru/dumb/qemu-xtensa: target-xtensa: add breakpoint tests target-xtensa: add DEBUG_SECTION to overlay tool target-xtensa: add DBREAK data breakpoints exec: let cpu_watchpoint_insert accept larger watchpoints exec: fix check_watchpoint exiting cpu_loop exec: add missing breaks to the watch_mem_write target-xtensa: add ICOUNT SR and debug exception target-xtensa: implement instruction breakpoints target-xtensa: add DEBUGCAUSE SR and configuration target-xtensa: fetch 3rd opcode byte only when needed target-xtensa: implement info tlb monitor command target-xtensa: define TLB_TEMPLATE for MMU-less cores
| * target-xtensa: add breakpoint testsMax Filippov2012-02-202-0/+224
| | | | | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
* | qemu-iotests: Test rebase with short backing fileKevin Wolf2012-02-292-0/+6
| | | | | | | | | | | | | | | | This tests that qemu-img rebase doesn't assume that the backing file has the same size as the image, but considers that it can be smaller. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* | qemu-iotests: 026: Reduce output changes for cache=none qcow2Kevin Wolf2012-02-292-2/+8
| | | | | | | | | | | | | | | | | | | | qemu-iotests supports the -nocache option which makes the tests run with cache=none. For blkdebug tests with qcow2 this means that we may see test results that differ from cache=writethrough. This patch makes the diff a bit smaller and therefore easier to review. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* | qemu-iotests: Filter out DOS line endingsKevin Wolf2012-02-291-1/+7
| | | | | | | | | | | | | | | | This one makes it possible to run qemu-iotests on a Windows build using Wine and get somewhat meaningful results. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* | test: add image streaming testsStefan Hajnoczi2012-02-293-0/+157
| | | | | | | | | | | | | | | | | | This patch adds a test suite for the image streaming feature. It exercises the 'block_stream', 'block_job_cancel', 'block_job_set_speed', and 'query-block-jobs' QMP commands. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* | qemu-iotests: add iotests Python moduleStefan Hajnoczi2012-02-291-0/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Block layer tests that involve QMP commands rather than qemu-img or qemu-io are not well-suited for shell scripting. This patch adds a Python module which allows tests to be written in Python instead. The basic API is: VM - class for launching and interacting with a VM QMPTestCase - abstract base class for tests that use QMP qemu_img() - wrapper function for invoking qemu-img qemu_io() - wrapper function for invoking qemu-io imgfmt - the image format under test (e.g. qcow2, qed) test_dir - scratch directory path for temporary files main() - entry point for running tests Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* | qemu-iotests: export TEST_DIR for non-bash testsStefan Hajnoczi2012-02-291-0/+2
| | | | | | | | | | | | | | | | | | Since qemu-iotests may need to create large image files it is possible to specify the test directory. The TEST_DIR variable needs to be exported so non-bash tests can make use of it. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* | Merge qemu-iotests into for-anthonyKevin Wolf2012-02-2369-0/+153385
|\ \
| * | qemu-iotests: common.config: Allow use of arbitrary qemu* pathsLucas Meneghel Rodrigues2012-02-231-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we might want to test arbitrary qemu, qemu-img and qemu-io paths, allow users to specify environment variable values for QEMU_PROG, QEMU_IMG_PROG and QEMU_IO_PROG so the testsuite will use those values rather than find them on PATH. Obviously, if such env variables are not set prior to script execution, normal detection mechanism takes place. Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: check: print relevant path informationLucas Meneghel Rodrigues2012-02-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Print the paths of the programs under test (qemu, qemu-img and qemu-io). Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: test loading internal snapshotsKevin Wolf2012-02-233-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | Test loading internal snapshots where the L1 table of the snapshot is smaller than the current L1 table. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: Update filter for default cluster sizeKevin Wolf2012-02-232-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until recently, qemu-img create displayed cluster_size=0 for the default cluster size. It is changed to display the real cluster size now, which results in the cluster size not being filtered out any more. If the cluster size is specified explicitly in CLUSTER_SIZE, keep the output, and if using the default, filter it out. This mostly restores the old behaviour of the test cases; test 015 must be fixed to use CLUSTER_SIZE instead of using extra_img_options for it. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add qed support to 025 image resize testStefan Hajnoczi2012-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | QED now supports the truncate (aka resize) operation for growing images. Update test 025 so it runs for QED. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: Update rbd supportJosh Durgin2012-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | rbd implements bdrv_truncate, so test 025 will work. Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: common.config: Fix no $TEST_DIR directoryMitnick Lyu2012-02-231-1/+5
| | | | | | | | | | | | | | | | | | | | | mkdir $TEST_DIR on common.config first run Signed-off-by: Mitnick Lyu <mitnick.lyu@gmail.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: only run 016 for file and sheepdog protocolsChristoph Hellwig2012-02-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 016 writes past EOF which isn't support by most protocols, so limit it to file and sheepdog, which explicitly support it. Pointed out by Josh Durgin <josh.durgin@dreamhost.com>. Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: Use zero-based offsets for IO patternsStefan Hajnoczi2012-02-2312-1863/+1873
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The io_pattern style functions have the following loop: for i in `seq 1 $count`; do echo ... $(( start + i * step )) ... done Offsets are 1-based so start=1024, step=512, count=4 yields: 1536, 2048, 2560, 3072 Normally we expect: 1024, 1536, 2048, 2560 Most tests ignore this detail, which means that they perform I/O to a slightly different range than expected by the test author. Later on things got less innocent and tests started trying to compensate for the 1-based indexing. This included negative start values in test 024 and my own attempt with count-1 in test 028! The end result is that tests that use io_pattern are hard to reason about and don't work the way you'd expect. It's time to clean this mess up. This patch switches io_pattern to 0-based offsets. This requires adjusting the golden outputs since I/O ranges are now shifted and output differs. Verifying these output diffs is easy, however. Each diff hunk moves one I/O from beyond the end of the pattern range to the beginning. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add support for rbd and sheepdog protocolsMORITA Kazutaka2012-02-2331-4/+89
| | | | | | | | | | | | | | | | | | | | | | | | This patch introduces tests for protocols other than file, and initially supports rbd and sheepdog. Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: filter IMGFMT correctly in 019Stefan Hajnoczi2012-02-233-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test 019 can be run with qcow2 and qed image formats. Replace the specific image format value with "IMGFMT" so the golden output does not hardcode qcow2 or qed. This patch also includes a typo fix for "occurrences". Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: README: Fix spellingStefan Weil2012-02-231-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add support for qed formatStefan Hajnoczi2012-02-239-9/+16
| | | | | | | | | | | | | | | Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: filter TEST_DIR correctly in 019Christoph Hellwig2012-02-232-3/+3
| | | | | | | | | | | | Signed-off-by: Kevin Wolf <kwolf@redhat.com>
| * | qemu-iotests: fix 019 golden outputKevin Wolf2012-02-221-15/+562
| | | | | | | | | | | | | | | Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: update expected results after qemu-img changesKevin Wolf2012-02-221-30/+90
| | | | | | | | | | | | | | | | | | | | | | | | The error message for leaked clusters has changed. qemu-iotests needs to be updated to pass 026 again. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add read/write from smaller backing image testStefan Hajnoczi2012-02-223-0/+560
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some image formats support backing images that are smaller than the image file. This patch adds a test that verifies that reads and writes beyond the end of backing image work. Unallocated reads beyond the end of the backing file should produce zeroes. Writes beyond the end of the backing file should copy-on-write using zeroes. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add sub-cluster allocating write test for sparse image formatsStefan Hajnoczi2012-02-223-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Image formats that grow the image file on demand and are organized into clusters must handle sub-cluster allocating writes. Such writes touch a portion of a previously unallocated data cluster. After the image file is grown with the written data, reads of that cluster should work as expected: 1. Sectors before the written region are zero. 2. The written region is present and the data is uncorrupted. 3. Sectors after the written region are zero. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: improve test for qemu-img convert with backing fileKevin Wolf2012-02-221-23/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally to testing the qemu-img convert -B option, also test -o backing_file. Also, the old test acidentlly used a pattern of zeros for most of the writes, so that the allocation test didn't really work out. This is fixed by using an explicit pattern. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: consider more cases in parsing qemu-io outputKevin Wolf2012-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I got a bug report with test output diffs like this: -4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +4 KiB, 1 ops; 0.0000 sec (inf EiB/sec and inf ops/sec) This patch extends the regular expression to consider terabytes, petabytes and exabytes, and to allow inf as value for the throughput. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: qcow2 error path testsKevin Wolf2012-02-223-0/+751
| | | | | | | | | | | | | | | | | | | | | This adds test cases for qcow2 error paths (using blkdebug) Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: improve rebase testKevin Wolf2012-02-222-2/+85
| | | | | | | | | | | | | | | | | | | | | | | | The old test didn't consider cases in which the COW files contains some unallocated clusters and after them allocated ones again. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: test bdrv_truncateStefan Hajnoczi2012-02-223-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds an image resize grow test to ensure that existing data is not lost during grow and new space is zeroed. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: explicitly use bash interpreterStefan Hajnoczi2012-02-2230-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | The tests use bash language features like 'let', which aren't supported by /bin/sh on systems that use a conservative shell like dash. This patch changes the interpreter to /bin/bash. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: test qemu-img rebaseKevin Wolf2012-02-223-0/+186
| | | | | | | | | | | | | | | Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: test larger clusters sizes on qcow2Kevin Wolf2012-02-227-818/+26645
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds test case 023 which tests some more cluster sizes. For anythinger larger than 4k clusters we can't use requests that are l2_size or more (128k for 1k clusters, 2 MB for 4k clusters, 512 MB for 64k clusters). Therefore one of the common.pattern cases is changed and needs new expected results for some old test cases. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: 019: Make cluster size dynamicKevin Wolf2012-02-222-6/+6
| | | | | | | | | | | | | | | | | | | | | Change the offsets for test requests according to CLUSTER_SIZE. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: align test requests according to cluster sizeKevin Wolf2012-02-2210-42/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the io_test and io_test2 functions to take the cluster size of the image and the number of test requests to issue. Tests are changed to specify a cluster size (usually 4k), but expected test results stay the same for now (apart from qemu-img printing the cluster size now). Based on a patch written by Christoph Hellwig. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
| * | qemu-iotests: add support for vdi format "static" optionStefan Weil2012-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | VDI supports an image option 'static'. Ignore "static=off" from qemu-img output. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Christoph Hellwig <hch@lst.de>
OpenPOWER on IntegriCloud