[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 7/8] qtest/ahci: add qcow2 support to ahci-test
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 7/8] qtest/ahci: add qcow2 support to ahci-test |
Date: |
Wed, 25 Feb 2015 15:27:57 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Thu, Feb 19, 2015 at 05:30:02PM -0500, John Snow wrote:
> diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c
> index bc8beb2..3577401 100644
> --- a/tests/libqos/libqos.c
> +++ b/tests/libqos/libqos.c
> @@ -61,3 +61,33 @@ void qtest_shutdown(QOSState *qs)
> qtest_quit(qs->qts);
> g_free(qs);
> }
> +
> +int mkqcow2(const char *file, unsigned size_mb)
> +{
> + pid_t pid;
> + int rc;
> + char buff[32];
> +
> + snprintf(buff, 32, "%uM", size_mb);
> +
> + pid = fork();
> + switch (pid) {
> + case -1:
> + perror("fork failed");
> + return -1;
> + case 0:
> + close(fileno(stdout));
> + rc = open("/dev/null", O_WRONLY);
> + g_assert_cmpint(rc, ==, fileno(stdout));
> + execl("./qemu-img", "qemu-img", "create", "-f", "qcow2",
> + file, buff, NULL);
Where is the current working directory set?
Will this work for both in-tree and out-of-tree builds?
BTW, glib abstracts process spawning, maybe all this can be done in a
single function call:
https://developer.gnome.org/glib/stable/glib-Spawning-Processes.html#g-spawn-sync
> + perror("execl failed");
> + exit(-1);
EXIT_FAILURE is provided by the C standard for returning failure. (-1
is confusing because the shell exit code value cannot be negative.)
> + default:
> + wait(&rc);
> + g_assert_cmpint(rc, ==, 0);
> + return rc;
> + }
> +
> + g_assert_not_reached();
> +}
> diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h
> index 612d41e..5abd2bd 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);
> +int mkqcow2(const char *file, unsigned size_mb);
>
> static inline uint64_t qmalloc(QOSState *q, size_t bytes)
> {
> --
> 1.9.3
>
>
pgpFY22WgLAJq.pgp
Description: PGP signature
- [Qemu-devel] [PATCH 0/8] ahci: add more IO tests, John Snow, 2015/02/19
- [Qemu-devel] [PATCH 8/8] qtest/ahci: test different disk sectors, John Snow, 2015/02/19
- [Qemu-devel] [PATCH 6/8] qtest/ahci: add fragmented dma test, John Snow, 2015/02/19
- [Qemu-devel] [PATCH 5/8] qtest/ahci: Add PIO and LBA48 tests, John Snow, 2015/02/19
- [Qemu-devel] [PATCH 4/8] qtest/ahci: Add DMA test variants, John Snow, 2015/02/19
- [Qemu-devel] [PATCH 1/8] libqos/ahci: Zero-fill AHCI headers, John Snow, 2015/02/19
- Re: [Qemu-devel] [PATCH 0/8] ahci: add more IO tests, John Snow, 2015/02/24
- Re: [Qemu-devel] [PATCH 0/8] ahci: add more IO tests, Stefan Hajnoczi, 2015/02/25