qtest/ahci: ncq migration test

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1435016308-6150-17-git-send-email-jsnow@redhat.com
This commit is contained in:
John Snow 2015-07-04 02:06:04 -04:00
parent 26ad004585
commit 07a1ee7958
1 changed files with 15 additions and 4 deletions

View File

@ -1146,9 +1146,9 @@ static void test_migrate_sanity(void)
} }
/** /**
* DMA Migration test: Write a pattern, migrate, then read. * Simple migration test: Write a pattern, migrate, then read.
*/ */
static void test_migrate_dma(void) static void ahci_migrate_simple(uint8_t cmd_read, uint8_t cmd_write)
{ {
AHCIQState *src, *dst; AHCIQState *src, *dst;
uint8_t px; uint8_t px;
@ -1176,9 +1176,9 @@ static void test_migrate_dma(void)
} }
/* Write, migrate, then read. */ /* Write, migrate, then read. */
ahci_io(src, px, CMD_WRITE_DMA, tx, bufsize, 0); ahci_io(src, px, cmd_write, tx, bufsize, 0);
ahci_migrate(src, dst, uri); ahci_migrate(src, dst, uri);
ahci_io(dst, px, CMD_READ_DMA, rx, bufsize, 0); ahci_io(dst, px, cmd_read, rx, bufsize, 0);
/* Verify pattern */ /* Verify pattern */
g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0); g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
@ -1189,6 +1189,16 @@ static void test_migrate_dma(void)
g_free(tx); g_free(tx);
} }
static void test_migrate_dma(void)
{
ahci_migrate_simple(CMD_READ_DMA, CMD_WRITE_DMA);
}
static void test_migrate_ncq(void)
{
ahci_migrate_simple(READ_FPDMA_QUEUED, WRITE_FPDMA_QUEUED);
}
/** /**
* DMA Error Test * DMA Error Test
* *
@ -1666,6 +1676,7 @@ int main(int argc, char **argv)
qtest_add_func("/ahci/reset", test_reset); qtest_add_func("/ahci/reset", test_reset);
qtest_add_func("/ahci/io/ncq/simple", test_ncq_simple); qtest_add_func("/ahci/io/ncq/simple", test_ncq_simple);
qtest_add_func("/ahci/migrate/ncq/simple", test_migrate_ncq);
ret = g_test_run(); ret = g_test_run();