From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41047) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YV09N-0000xZ-FV for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:03:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YV09J-0001ME-En for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:03:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42577) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YV09J-0001Ly-6x for qemu-devel@nongnu.org; Mon, 09 Mar 2015 12:03:21 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id t29G3I4D024204 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 9 Mar 2015 12:03:19 -0400 Message-ID: <54FDC445.9050201@redhat.com> Date: Mon, 09 Mar 2015 12:03:17 -0400 From: John Snow MIME-Version: 1.0 References: <1424905602-24715-1-git-send-email-jsnow@redhat.com> <1424905602-24715-8-git-send-email-jsnow@redhat.com> <20150309142734.GE3593@noname.str.redhat.com> In-Reply-To: <20150309142734.GE3593@noname.str.redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 7/8] qtest/ahci: add qcow2 support to ahci-test List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org, stefanha@redhat.com, armbru@redhat.com On 03/09/2015 10:27 AM, Kevin Wolf wrote: > Am 26.02.2015 um 00:06 hat John Snow geschrieben: >> This will enable the testing of high offsets without >> wasting a lot of disk space, and does not impact the >> previous tests. >> >> mkimg and mkqcow2 are added to libqos for other tests. >> >> Signed-off-by: John Snow >> --- >> tests/Makefile | 1 + >> tests/ahci-test.c | 16 ++++++---------- >> tests/libqos/libqos.c | 37 +++++++++++++++++++++++++++++++++++++ >> tests/libqos/libqos.h | 2 ++ >> 4 files changed, 46 insertions(+), 10 deletions(-) >> >> diff --git a/tests/Makefile b/tests/Makefile >> index 307035c..09ecb66 100644 >> --- a/tests/Makefile >> +++ b/tests/Makefile >> @@ -413,6 +413,7 @@ GCOV_OPTIONS = -n $(if $(V),-f,) >> $(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y) >> $(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,) >> $(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \ >> + QTEST_QEMU_IMG=qemu-img$(EXESUF) \ >> MALLOC_PERTURB_=$${MALLOC_PERTURB_:-$$((RANDOM % 255 + 1))} \ >> gtester $(GTESTER_OPTIONS) -m=$(SPEED) $(check-qtest-$*-y),"GTESTER $@") >> $(if $(CONFIG_GCOV),@for f in $(gcov-files-$*-y); do \ >> diff --git a/tests/ahci-test.c b/tests/ahci-test.c >> index cf0b98b..3f93c15 100644 >> --- a/tests/ahci-test.c >> +++ b/tests/ahci-test.c >> @@ -39,8 +39,8 @@ >> #include "hw/pci/pci_ids.h" >> #include "hw/pci/pci_regs.h" >> >> -/* Test-specific defines. */ >> -#define TEST_IMAGE_SIZE (64 * 1024 * 1024) >> +/* Test-specific defines -- in MiB */ >> +#define TEST_IMAGE_SIZE_MB (200 * 1024) >> >> /*** Globals ***/ >> static char tmp_path[] = "/tmp/qtest.XXXXXX"; >> @@ -81,7 +81,7 @@ static AHCIQState *ahci_boot(void) >> s = g_malloc0(sizeof(AHCIQState)); >> >> cli = "-drive if=none,id=drive0,file=%s,cache=writeback,serial=%s" >> - ",format=raw" >> + ",format=qcow2" >> " -M q35 " >> "-device ide-hd,drive=drive0 " >> "-global ide-hd.ver=%s"; >> @@ -1051,7 +1051,6 @@ static void create_ahci_io_test(enum IOMode type, enum AddrMode addr, >> int main(int argc, char **argv) >> { >> const char *arch; >> - int fd; >> int ret; >> int c; >> int i, j, k; >> @@ -1088,12 +1087,9 @@ int main(int argc, char **argv) >> return 0; >> } >> >> - /* Create a temporary raw image */ >> - fd = mkstemp(tmp_path); >> - g_assert(fd >= 0); >> - ret = ftruncate(fd, TEST_IMAGE_SIZE); >> - g_assert(ret == 0); >> - close(fd); >> + /* Create a temporary qcow2 image */ >> + close(mkstemp(tmp_path)); >> + mkqcow2(tmp_path, TEST_IMAGE_SIZE_MB); >> >> /* Run the tests */ >> qtest_add_func("/ahci/sanity", test_sanity); >> diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c >> index bc8beb2..c825486 100644 >> --- a/tests/libqos/libqos.c >> +++ b/tests/libqos/libqos.c >> @@ -61,3 +61,40 @@ void qtest_shutdown(QOSState *qs) >> qtest_quit(qs->qts); >> g_free(qs); >> } >> + >> +void mkimg(const char *file, const char *fmt, unsigned size_mb) >> +{ >> + gchar *cli; >> + bool ret; >> + int rc; >> + GError *err = NULL; >> + char *qemu_img_path; >> + gchar *out, *out2; >> + >> + qemu_img_path = getenv("QTEST_QEMU_IMG"); >> + assert(qemu_img_path); >> + >> + cli = g_strdup_printf("./%s create -f %s %s %uM", qemu_img_path, >> + fmt, file, size_mb); >> + ret = g_spawn_command_line_sync(cli, &out, &out2, &rc, &err); >> + if (err) { >> + fprintf(stderr, "%s\n", err->message); >> + g_error_free(err); >> + } >> + g_assert(ret && !err); >> + >> + ret = g_spawn_check_exit_status(rc, &err); > > This function only exists since glib 2.34. Dropping the following > patches from the queue: > > pick 23134a5 qtest/ahci: add qcow2 support to ahci-test > pick 6ca5609 qtest/ahci: test different disk sectors > pick e2f0dee qtest/ahci: Add simple flush test > pick 396491b qtest/ahci: Allow override of default CLI options > pick eb8c8bd libqtest: add qmp_eventwait > pick 398bfc3 libqtest: add qmp_async > pick d3f77d1 libqos: add blkdebug_prepare_script > pick d628e51 qtest/ahci: add flush retry test > > This is patch 7 and 8 from this series and the complete series "ahci: > rerror/werror=stop resume tests", which seems to depend on them. > > Kevin > Do we have a policy on glib version for qtests? I know we require a specific version for within QEMU itself, but there are many instances of functions newer than that being using in qtests already.