From b3908d2efb29f5a3facdcecde388d101be7b5e6e Mon Sep 17 00:00:00 2001 From: Ilias Stamatis Date: Thu, 23 May 2019 13:37:01 +0200 Subject: [PATCH] test_driver: implement virDomainMemoryPeek MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Begins by writing a @start byte in the first position of @buffer and then for every next byte it stores the value of its previous one incremented by one. Behaves the same for both supported flags. Signed-off-by: Ilias Stamatis Reviewed-by: Ján Tomko Signed-off-by: Ján Tomko --- src/test/test_driver.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 7fd06fcfa8..2f58a1da95 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -6072,6 +6072,42 @@ testDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags) return 0; } +static int +testDomainMemoryPeek(virDomainPtr dom, + unsigned long long start, + size_t size, + void *buffer, + unsigned int flags) +{ + int ret = -1; + size_t i; + unsigned char b = start; + virDomainObjPtr vm = NULL; + + virCheckFlags(VIR_MEMORY_VIRTUAL | VIR_MEMORY_PHYSICAL, -1); + + if (flags != VIR_MEMORY_VIRTUAL && flags != VIR_MEMORY_PHYSICAL) { + virReportError(VIR_ERR_INVALID_ARG, + "%s", _("flags parameter must be VIR_MEMORY_VIRTUAL or VIR_MEMORY_PHYSICAL")); + goto cleanup; + } + + if (!(vm = testDomObjFromDomain(dom))) + goto cleanup; + + if (virDomainObjCheckActive(vm) < 0) + goto cleanup; + + for (i = 0; i < size; i++) + ((unsigned char *) buffer)[i] = b++; + + ret = 0; + + cleanup: + virDomainObjEndAPI(&vm); + return ret; +} + /* * Snapshot APIs @@ -6970,6 +7006,7 @@ static virHypervisorDriver testHypervisorDriver = { .domainManagedSave = testDomainManagedSave, /* 1.1.4 */ .domainHasManagedSaveImage = testDomainHasManagedSaveImage, /* 1.1.4 */ .domainManagedSaveRemove = testDomainManagedSaveRemove, /* 1.1.4 */ + .domainMemoryPeek = testDomainMemoryPeek, /* 5.4.0 */ .domainSnapshotNum = testDomainSnapshotNum, /* 1.1.4 */ .domainSnapshotListNames = testDomainSnapshotListNames, /* 1.1.4 */ -- 2.47.2