diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ide-test.c | 19 | ||||
-rwxr-xr-x | tests/multiboot/run_test.sh | 2 | ||||
-rwxr-xr-x | tests/qemu-iotests/185 | 4 |
3 files changed, 24 insertions, 1 deletions
diff --git a/tests/ide-test.c b/tests/ide-test.c index bfd79ddbdc..aa9de065fc 100644 --- a/tests/ide-test.c +++ b/tests/ide-test.c @@ -689,6 +689,24 @@ static void test_flush_nodev(void) ide_test_quit(); } +static void test_flush_empty_drive(void) +{ + QPCIDevice *dev; + QPCIBar bmdma_bar, ide_bar; + + ide_test_start("-device ide-cd,bus=ide.0"); + dev = get_pci_device(&bmdma_bar, &ide_bar); + + /* FLUSH CACHE command on device 0 */ + qpci_io_writeb(dev, ide_bar, reg_device, 0); + qpci_io_writeb(dev, ide_bar, reg_command, CMD_FLUSH_CACHE); + + /* Just testing that qemu doesn't crash... */ + + free_pci_device(dev); + ide_test_quit(); +} + static void test_pci_retry_flush(void) { test_retry_flush("pc"); @@ -954,6 +972,7 @@ int main(int argc, char **argv) qtest_add_func("/ide/flush", test_flush); qtest_add_func("/ide/flush/nodev", test_flush_nodev); + qtest_add_func("/ide/flush/empty_drive", test_flush_empty_drive); qtest_add_func("/ide/flush/retry_pci", test_pci_retry_flush); qtest_add_func("/ide/flush/retry_isa", test_isa_retry_flush); diff --git a/tests/multiboot/run_test.sh b/tests/multiboot/run_test.sh index c8f3da8f37..0278148b43 100755 --- a/tests/multiboot/run_test.sh +++ b/tests/multiboot/run_test.sh @@ -26,7 +26,7 @@ run_qemu() { local kernel=$1 shift - printf %b "\n\n=== Running test case: $kernel $@ ===\n\n" >> test.log + printf %b "\n\n=== Running test case: $kernel $* ===\n\n" >> test.log $QEMU \ -kernel $kernel \ diff --git a/tests/qemu-iotests/185 b/tests/qemu-iotests/185 index 0eda371f27..f5b47e4c1a 100755 --- a/tests/qemu-iotests/185 +++ b/tests/qemu-iotests/185 @@ -156,6 +156,10 @@ _send_qemu_cmd $h \ 'speed': 65536 } }" \ "return" +# If we don't sleep here 'quit' command may be handled before +# the first mirror iteration is done +sleep 0.5 + _send_qemu_cmd $h "{ 'execute': 'quit' }" "return" wait=1 _cleanup_qemu |