[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 5/6] libqos: add qemu-img presence check
From: |
John Snow |
Subject: |
[Qemu-devel] [PULL 5/6] libqos: add qemu-img presence check |
Date: |
Fri, 13 Nov 2015 15:16:39 -0500 |
To allow tests to optionally exercise additional tests
that require the qemu-img tool that may not be present
in all builds.
Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
---
tests/libqos/libqos.c | 28 +++++++++++++++++++++++-----
tests/libqos/libqos.h | 1 +
2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c
index 8d7c5a9..2d1a802 100644
--- a/tests/libqos/libqos.c
+++ b/tests/libqos/libqos.c
@@ -147,6 +147,23 @@ void migrate(QOSState *from, QOSState *to, const char *uri)
set_context(to);
}
+bool have_qemu_img(void)
+{
+ char *rpath;
+ const char *path = getenv("QTEST_QEMU_IMG");
+ if (!path) {
+ return false;
+ }
+
+ rpath = realpath(path, NULL);
+ if (!rpath) {
+ return false;
+ } else {
+ free(rpath);
+ return true;
+ }
+}
+
void mkimg(const char *file, const char *fmt, unsigned size_mb)
{
gchar *cli;
@@ -155,13 +172,14 @@ void mkimg(const char *file, const char *fmt, unsigned
size_mb)
GError *err = NULL;
char *qemu_img_path;
gchar *out, *out2;
- char *abs_path;
+ char *qemu_img_abs_path;
qemu_img_path = getenv("QTEST_QEMU_IMG");
- abs_path = realpath(qemu_img_path, NULL);
- assert(qemu_img_path);
+ g_assert(qemu_img_path);
+ qemu_img_abs_path = realpath(qemu_img_path, NULL);
+ g_assert(qemu_img_abs_path);
- cli = g_strdup_printf("%s create -f %s %s %uM", abs_path,
+ cli = g_strdup_printf("%s create -f %s %s %uM", qemu_img_abs_path,
fmt, file, size_mb);
ret = g_spawn_command_line_sync(cli, &out, &out2, &rc, &err);
if (err) {
@@ -183,7 +201,7 @@ void mkimg(const char *file, const char *fmt, unsigned
size_mb)
g_free(out);
g_free(out2);
g_free(cli);
- free(abs_path);
+ free(qemu_img_abs_path);
}
void mkqcow2(const char *file, unsigned size_mb)
diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h
index 492a651..ca14d2e 100644
--- a/tests/libqos/libqos.h
+++ b/tests/libqos/libqos.h
@@ -19,6 +19,7 @@ typedef struct QOSState {
QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap);
QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...);
void qtest_shutdown(QOSState *qs);
+bool have_qemu_img(void);
void mkimg(const char *file, const char *fmt, unsigned size_mb);
void mkqcow2(const char *file, unsigned size_mb);
void set_context(QOSState *s);
--
2.4.3
- [Qemu-devel] [PULL 0/6] Ide patches, John Snow, 2015/11/13
- [Qemu-devel] [PULL 2/6] atapi: Prioritize unknown cmd error over BCL error, John Snow, 2015/11/13
- [Qemu-devel] [PULL 1/6] atapi: add byte_count_limit helper, John Snow, 2015/11/13
- [Qemu-devel] [PULL 4/6] qtest/ahci: always specify image format, John Snow, 2015/11/13
- [Qemu-devel] [PULL 3/6] ahci/qtest: don't use tcp sockets for migration tests, John Snow, 2015/11/13
- [Qemu-devel] [PULL 5/6] libqos: add qemu-img presence check,
John Snow <=
- [Qemu-devel] [PULL 6/6] qtest/ahci: use raw format when qemu-img is absent, John Snow, 2015/11/13
- Re: [Qemu-devel] [PULL 0/6] Ide patches, Peter Maydell, 2015/11/16
- [Qemu-devel] [PULL 0/6] Ide patches, John Snow, 2015/11/17
- [Qemu-devel] [PULL 2/6] block: add blk_abort_aio_request, John Snow, 2015/11/17
- [Qemu-devel] [PULL 1/6] ide/atapi: make PIO read requests async, John Snow, 2015/11/17
- [Qemu-devel] [PULL 6/6] ide: enable buffered requests for PIO read requests, John Snow, 2015/11/17
- [Qemu-devel] [PULL 4/6] ide: orphan all buffered requests on DMA cancel, John Snow, 2015/11/17
- [Qemu-devel] [PULL 3/6] ide: add support for IDEBufferedRequest, John Snow, 2015/11/17