diff mbox

[v2,17/17] qtest/ide: Test flush / retry for ISA and PCI

Message ID 1418780167-16231-18-git-send-email-jsnow@redhat.com
State New
Headers show

Commit Message

John Snow Dec. 17, 2014, 1:36 a.m. UTC
This patch adds tests for werror and rerror functionality
for the PCI and ISA ide buses.

Tests for the AHCI device are to be included at a later
date after requisite patches have been merged upstream
to support needed functionality by the tests.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/ide-test.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

Comments

Paolo Bonzini Jan. 30, 2015, 9:37 a.m. UTC | #1
On 17/12/2014 02:36, John Snow wrote:
> This patch adds tests for werror and rerror functionality
> for the PCI and ISA ide buses.
> 
> Tests for the AHCI device are to be included at a later
> date after requisite patches have been merged upstream
> to support needed functionality by the tests.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  tests/ide-test.c | 20 +++++++++++++++-----
>  1 file changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/ide-test.c b/tests/ide-test.c
> index 29f4039..b28a302 100644
> --- a/tests/ide-test.c
> +++ b/tests/ide-test.c
> @@ -118,7 +118,6 @@ static void ide_test_start(const char *cmdline_fmt, ...)
>      va_end(ap);
>  
>      qtest_start(cmdline);
> -    qtest_irq_intercept_in(global_qtest, "ioapic");
>      guest_malloc = pc_alloc_init();
>  
>      g_free(cmdline);
> @@ -388,6 +387,7 @@ static void test_bmdma_setup(void)
>          "-drive file=%s,if=ide,serial=%s,cache=writeback,format=raw "
>          "-global ide-hd.ver=%s",
>          tmp_path, "testdisk", "version");
> +    qtest_irq_intercept_in(global_qtest, "ioapic");
>  }
>  
>  static void test_bmdma_teardown(void)
> @@ -516,7 +516,7 @@ static void prepare_blkdebug_script(const char *debug_fn, const char *event)
>      g_assert(ret == 0);
>  }
>  
> -static void test_retry_flush(void)
> +static void test_retry_flush(const char *machine)
>  {
>      uint8_t data;
>      const char *s;
> @@ -580,6 +580,16 @@ static void test_flush_nodev(void)
>      ide_test_quit();
>  }
>  
> +static void test_pci_retry_flush(const char *machine)
> +{
> +    test_retry_flush("pc");
> +}
> +
> +static void test_isa_retry_flush(const char *machine)
> +{
> +    test_retry_flush("isapc");
> +}
> +
>  int main(int argc, char **argv)
>  {
>      const char *arch = qtest_get_arch();
> @@ -617,9 +627,9 @@ int main(int argc, char **argv)
>      qtest_add_func("/ide/bmdma/teardown", test_bmdma_teardown);
>  
>      qtest_add_func("/ide/flush", test_flush);
> -    qtest_add_func("/ide/flush_nodev", test_flush_nodev);
> -
> -    qtest_add_func("/ide/retry/flush", test_retry_flush);
> +    qtest_add_func("/ide/flush/nodev", test_flush_nodev);
> +    qtest_add_func("/ide/flush/retry_pci", test_pci_retry_flush);
> +    qtest_add_func("/ide/flush/retry_isa", test_isa_retry_flush);
>  
>      ret = g_test_run();
>  
> 

Quite different from my original version, so:

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox

Patch

diff --git a/tests/ide-test.c b/tests/ide-test.c
index 29f4039..b28a302 100644
--- a/tests/ide-test.c
+++ b/tests/ide-test.c
@@ -118,7 +118,6 @@  static void ide_test_start(const char *cmdline_fmt, ...)
     va_end(ap);
 
     qtest_start(cmdline);
-    qtest_irq_intercept_in(global_qtest, "ioapic");
     guest_malloc = pc_alloc_init();
 
     g_free(cmdline);
@@ -388,6 +387,7 @@  static void test_bmdma_setup(void)
         "-drive file=%s,if=ide,serial=%s,cache=writeback,format=raw "
         "-global ide-hd.ver=%s",
         tmp_path, "testdisk", "version");
+    qtest_irq_intercept_in(global_qtest, "ioapic");
 }
 
 static void test_bmdma_teardown(void)
@@ -516,7 +516,7 @@  static void prepare_blkdebug_script(const char *debug_fn, const char *event)
     g_assert(ret == 0);
 }
 
-static void test_retry_flush(void)
+static void test_retry_flush(const char *machine)
 {
     uint8_t data;
     const char *s;
@@ -580,6 +580,16 @@  static void test_flush_nodev(void)
     ide_test_quit();
 }
 
+static void test_pci_retry_flush(const char *machine)
+{
+    test_retry_flush("pc");
+}
+
+static void test_isa_retry_flush(const char *machine)
+{
+    test_retry_flush("isapc");
+}
+
 int main(int argc, char **argv)
 {
     const char *arch = qtest_get_arch();
@@ -617,9 +627,9 @@  int main(int argc, char **argv)
     qtest_add_func("/ide/bmdma/teardown", test_bmdma_teardown);
 
     qtest_add_func("/ide/flush", test_flush);
-    qtest_add_func("/ide/flush_nodev", test_flush_nodev);
-
-    qtest_add_func("/ide/retry/flush", test_retry_flush);
+    qtest_add_func("/ide/flush/nodev", test_flush_nodev);
+    qtest_add_func("/ide/flush/retry_pci", test_pci_retry_flush);
+    qtest_add_func("/ide/flush/retry_isa", test_isa_retry_flush);
 
     ret = g_test_run();