From: Bin Meng <bmeng.cn@gmail.com>
To: qemu-devel@nongnu.org
Cc: Bin Meng <bin.meng@windriver.com>, John Snow <jsnow@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Thomas Huth <thuth@redhat.com>,
qemu-block@nongnu.org
Subject: [PATCH 33/51] tests/qtest: {ahci, ide}-test: Use relative path for temporary files
Date: Wed, 24 Aug 2022 17:40:11 +0800 [thread overview]
Message-ID: <20220824094029.1634519-34-bmeng.cn@gmail.com> (raw)
In-Reply-To: <20220824094029.1634519-1-bmeng.cn@gmail.com>
From: Bin Meng <bin.meng@windriver.com>
These test cases uses "blkdebug:path/to/config:path/to/image" for
testing. On Windows, absolute file paths contain the delimiter ':'
which causes the blkdebug filename parser fail to parse filenames.
Signed-off-by: Bin Meng <bin.meng@windriver.com>
---
tests/qtest/ahci-test.c | 19 ++++++++++++++++---
tests/qtest/ide-test.c | 18 ++++++++++++++++--
2 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c
index 0e88cd0eef..bce9ff770c 100644
--- a/tests/qtest/ahci-test.c
+++ b/tests/qtest/ahci-test.c
@@ -1848,7 +1848,7 @@ static void create_ahci_io_test(enum IOMode type, enum AddrMode addr,
int main(int argc, char **argv)
{
- const char *arch;
+ const char *arch, *base;
int ret;
int fd;
int c;
@@ -1886,8 +1886,21 @@ int main(int argc, char **argv)
return 0;
}
+ /*
+ * "base" stores the starting point where we create temporary files.
+ *
+ * On Windows, this is set to the relative path of current working
+ * directory, because the absolute path causes the blkdebug filename
+ * parser fail to parse "blkdebug:path/to/config:path/to/image".
+ */
+#ifndef _WIN32
+ base = g_get_tmp_dir();
+#else
+ base = ".";
+#endif
+
/* Create a temporary image */
- tmp_path = g_strdup_printf("%s/qtest.XXXXXX", g_get_tmp_dir());
+ tmp_path = g_strdup_printf("%s/qtest.XXXXXX", base);
fd = mkstemp(tmp_path);
g_assert(fd >= 0);
if (have_qemu_img()) {
@@ -1905,7 +1918,7 @@ int main(int argc, char **argv)
close(fd);
/* Create temporary blkdebug instructions */
- debug_path = g_strdup_printf("%s/qtest-blkdebug.XXXXXX", g_get_tmp_dir());
+ debug_path = g_strdup_printf("%s/qtest-blkdebug.XXXXXX", base);
fd = mkstemp(debug_path);
g_assert(fd >= 0);
close(fd);
diff --git a/tests/qtest/ide-test.c b/tests/qtest/ide-test.c
index ebbf8e0126..c5cad6c0be 100644
--- a/tests/qtest/ide-test.c
+++ b/tests/qtest/ide-test.c
@@ -1011,17 +1011,31 @@ static void test_cdrom_dma(void)
int main(int argc, char **argv)
{
+ const char *base;
int fd;
int ret;
+ /*
+ * "base" stores the starting point where we create temporary files.
+ *
+ * On Windows, this is set to the relative path of current working
+ * directory, because the absolute path causes the blkdebug filename
+ * parser fail to parse "blkdebug:path/to/config:path/to/image".
+ */
+#ifndef _WIN32
+ base = g_get_tmp_dir();
+#else
+ base = ".";
+#endif
+
/* Create temporary blkdebug instructions */
- debug_path = g_strdup_printf("%s/qtest-blkdebug.XXXXXX", g_get_tmp_dir());
+ debug_path = g_strdup_printf("%s/qtest-blkdebug.XXXXXX", base);
fd = mkstemp(debug_path);
g_assert(fd >= 0);
close(fd);
/* Create a temporary raw image */
- tmp_path = g_strdup_printf("%s/qtest.XXXXXX", g_get_tmp_dir());
+ tmp_path = g_strdup_printf("%s/qtest.XXXXXX", base);
fd = mkstemp(tmp_path);
g_assert(fd >= 0);
ret = ftruncate(fd, TEST_IMAGE_SIZE);
--
2.34.1
next prev parent reply other threads:[~2022-08-24 10:57 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-24 9:39 [PATCH 00/51] tests/qtest: Enable running qtest on Windows Bin Meng
2022-08-24 9:39 ` [PATCH 01/51] tests/qtest: Use g_setenv() Bin Meng
2022-08-24 11:45 ` Thomas Huth
2022-09-04 14:10 ` Philippe Mathieu-Daudé via
2022-08-24 9:39 ` [PATCH 02/51] tests/qtest: Use g_mkdtemp() Bin Meng
2022-08-24 14:42 ` Thomas Huth
2022-08-24 9:39 ` [PATCH 03/51] block: Unify the get_tmp_filename() implementation Bin Meng
2022-08-31 12:54 ` Marc-André Lureau
2022-08-31 13:19 ` Daniel P. Berrangé
2022-09-01 6:41 ` Bin Meng
2022-08-24 9:39 ` [PATCH 04/51] semihosting/arm-compat-semi: Avoid using hardcoded /tmp Bin Meng
2022-08-31 12:59 ` Marc-André Lureau
2022-09-01 7:11 ` Bin Meng
2022-09-01 9:20 ` Richard Henderson
2022-08-24 9:39 ` [PATCH 05/51] tcg: " Bin Meng
2022-08-31 13:02 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 06/51] util/qemu-sockets: Use g_get_tmp_dir() to get the directory for temporary files Bin Meng
2022-08-31 13:05 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 07/51] tests: Avoid using hardcoded /tmp in test cases Bin Meng
2022-08-24 17:51 ` Dr. David Alan Gilbert
2022-08-25 8:41 ` Thomas Huth
2022-08-24 9:39 ` [PATCH 08/51] block/vvfat: Unify the mkdir() call Bin Meng
2022-08-31 13:08 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 09/51] fsdev/virtfs-proxy-helper: Use g_mkdir_with_parents() Bin Meng
2022-08-26 10:09 ` Christian Schoenebeck
2022-08-26 10:30 ` Bin Meng
2022-08-26 11:16 ` Christian Schoenebeck
2022-08-26 12:38 ` Bin Meng
2022-08-26 13:27 ` Christian Schoenebeck
2022-08-24 9:39 ` [PATCH 10/51] hw/usb: dev-mtp: " Bin Meng
2022-08-31 13:09 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 11/51] qga/commands-posix-ssh: " Bin Meng
2022-08-24 14:41 ` Konstantin Kostiuk
2022-08-26 14:46 ` Bin Meng
2022-08-24 9:39 ` [PATCH 12/51] tests: " Bin Meng
2022-08-24 17:58 ` Dr. David Alan Gilbert
2022-08-26 14:49 ` Bin Meng
2022-08-24 9:39 ` [PATCH 13/51] tests/qtest: migration-test: Handle link() for win32 Bin Meng
2022-08-24 18:41 ` Dr. David Alan Gilbert
2022-08-24 9:39 ` [PATCH 14/51] backends/tpm: Exclude headers and macros that don't exist on win32 Bin Meng
2022-08-24 12:35 ` Stefan Berger
2022-08-31 13:20 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 15/51] tests/qtest: Adapt {m48t59,rtc}-test cases for win32 Bin Meng
2022-08-25 8:20 ` Thomas Huth
2022-08-24 9:39 ` [PATCH 16/51] tests/qtest: Build e1000e-test for posix only Bin Meng
2022-08-25 10:59 ` Thomas Huth
2022-08-24 9:39 ` [PATCH 17/51] tests/qtest: Build virtio-net-test " Bin Meng
2022-08-25 11:27 ` Thomas Huth
2022-08-31 13:25 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 18/51] tests/qtest: Build cases that use memory-backend-file " Bin Meng
2022-08-25 12:39 ` Thomas Huth
2022-08-24 9:39 ` [PATCH 19/51] tests/qtest: Build test-filter-{mirror, redirector} cases " Bin Meng
2022-08-25 11:37 ` Thomas Huth
2022-08-31 13:27 ` Marc-André Lureau
2022-08-24 9:39 ` [PATCH 20/51] tests/qtest: i440fx-test: Skip running request_{bios, pflash} for win32 Bin Meng
2022-08-25 11:40 ` [PATCH 20/51] tests/qtest: i440fx-test: Skip running request_{bios,pflash} " Thomas Huth
2022-08-31 13:40 ` [PATCH 20/51] tests/qtest: i440fx-test: Skip running request_{bios, pflash} " Marc-André Lureau
2022-09-02 8:29 ` Bin Meng
2022-08-24 9:39 ` [PATCH 21/51] tests/qtest: migration-test: Skip running test_migrate_fd_proto on win32 Bin Meng
2022-08-24 18:49 ` Dr. David Alan Gilbert
2022-09-04 14:15 ` Philippe Mathieu-Daudé via
2022-08-24 9:40 ` [PATCH 22/51] tests/qtest: qmp-test: Skip running test_qmp_oob for win32 Bin Meng
2022-08-25 11:45 ` Thomas Huth
2022-08-29 13:14 ` Markus Armbruster
2022-08-29 14:23 ` Bin Meng
2022-08-29 15:06 ` Markus Armbruster
2022-09-04 14:07 ` Philippe Mathieu-Daudé via
2022-08-24 9:40 ` [PATCH 23/51] accel/qtest: Support qtest accelerator for Windows Bin Meng
2022-08-31 13:49 ` Marc-André Lureau
2022-09-02 8:28 ` Bin Meng
2022-08-24 9:40 ` [PATCH 24/51] tests/qtest: libqos: Drop inclusion of <sys/wait.h> Bin Meng
2022-08-25 11:55 ` Thomas Huth
2022-08-31 13:50 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 25/51] tests/qtest: libqos: Rename malloc.h to libqos-malloc.h Bin Meng
2022-08-25 11:51 ` Thomas Huth
2022-08-31 13:51 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 26/51] tests/qtest: libqtest: Move global_qtest definition back to libqtest.c Bin Meng
2022-08-25 11:59 ` Thomas Huth
2022-08-24 9:40 ` [PATCH 27/51] tests/qtest: Use send/recv for socket communication Bin Meng
2022-08-25 13:04 ` Thomas Huth
2022-08-26 14:59 ` Bin Meng
2022-08-26 18:26 ` Thomas Huth
2022-08-31 14:05 ` Marc-André Lureau
2022-08-31 14:19 ` Daniel P. Berrangé
2022-09-02 14:24 ` Bin Meng
2022-08-24 9:40 ` [PATCH 28/51] tests/qtest: libqtest: Exclude the *_fds APIs for win32 Bin Meng
2022-08-31 14:10 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 29/51] tests/qtest: libqtest: Install signal handler via signal() Bin Meng
2022-08-31 14:16 ` Marc-André Lureau
2022-09-02 15:49 ` Bin Meng
2022-08-24 9:40 ` [PATCH 30/51] tests: Skip iotests and qtest when '--without-default-devices' Bin Meng
2022-08-25 12:03 ` Thomas Huth
2022-09-02 15:18 ` Bin Meng
2022-08-24 9:40 ` [PATCH 31/51] tests/qtest: Support libqtest to build and run on Windows Bin Meng
2022-08-31 16:28 ` Marc-André Lureau
2022-09-19 10:00 ` Bin Meng
2022-09-01 11:38 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 32/51] tests/qtest: Fix ERROR_SHARING_VIOLATION for win32 Bin Meng
2022-08-25 12:06 ` Thomas Huth
2022-09-02 10:59 ` Bin Meng
2022-09-01 8:42 ` Marc-André Lureau
2022-09-02 11:02 ` Bin Meng
2022-08-24 9:40 ` Bin Meng [this message]
2022-09-01 8:58 ` [PATCH 33/51] tests/qtest: {ahci, ide}-test: Use relative path for temporary files Marc-André Lureau
2022-09-03 13:30 ` Bin Meng
2022-08-24 9:40 ` [PATCH 34/51] tests/qtest: bios-tables-test: Adapt the case for win32 Bin Meng
2022-08-24 12:42 ` Ani Sinha
2022-08-26 10:38 ` Bin Meng
2022-09-01 9:05 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 35/51] tests/qtest: device-plug-test: Reverse the usage of double/single quotes Bin Meng
2022-08-25 12:20 ` Thomas Huth
2022-08-24 9:40 ` [PATCH 36/51] tests/qtest: machine-none-test: Use double quotes to pass the cpu option Bin Meng
2022-08-25 12:22 ` Thomas Huth
2022-08-24 9:40 ` [PATCH 37/51] tests/qtest: migration-test: Disable IO redirection for win32 Bin Meng
2022-08-24 18:53 ` Dr. David Alan Gilbert
2022-08-26 10:48 ` Bin Meng
2022-08-24 9:40 ` [PATCH 38/51] tests/qtest: {ahci,ide}-test: Open file in binary mode Bin Meng
2022-08-25 12:28 ` Thomas Huth
2022-09-01 9:08 ` [PATCH 38/51] tests/qtest: {ahci, ide}-test: " Marc-André Lureau
2022-08-24 9:40 ` [PATCH 39/51] tests/qtest: virtio-net-failover: Disable migration tests for win32 Bin Meng
2022-08-24 9:40 ` [PATCH 40/51] chardev/char-file: Add FILE_SHARE_WRITE when openning the file " Bin Meng
2022-08-25 7:58 ` Marc-André Lureau
2022-08-26 13:15 ` Bin Meng
2022-08-26 13:23 ` Marc-André Lureau
2022-08-27 23:19 ` Bin Meng
2022-08-30 12:30 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 41/51] tests/qtest: migration-test: Kill "to" after migration is canceled Bin Meng
2022-08-24 18:56 ` Dr. David Alan Gilbert
2022-09-01 11:35 ` Marc-André Lureau
2022-09-02 16:33 ` Bin Meng
2022-08-24 9:40 ` [PATCH 42/51] hw/ppc: spapr: Use qemu_vfree() to free spapr->htab Bin Meng
2022-08-24 17:32 ` Daniel Henrique Barboza
2022-09-01 11:40 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 43/51] tests/qtest: npcm7xx_emc-test: Skip running test_{tx, rx} on win32 Bin Meng
2022-08-25 12:32 ` [PATCH 43/51] tests/qtest: npcm7xx_emc-test: Skip running test_{tx,rx} " Thomas Huth
2022-08-25 16:40 ` [PATCH 43/51] tests/qtest: npcm7xx_emc-test: Skip running test_{tx, rx} " Hao Wu
2022-08-24 9:40 ` [PATCH 44/51] tests/qtest: microbit-test: Fix socket access for win32 Bin Meng
2022-09-01 11:44 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 45/51] tests/qtest: prom-env-test: Use double quotes to pass the prom-env option Bin Meng
2022-08-25 12:33 ` Thomas Huth
2022-08-24 9:40 ` [PATCH 46/51] tests/qtest: libqtest: Replace the call to close a socket with closesocket() Bin Meng
2022-09-01 11:46 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 47/51] tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for win32 Bin Meng
2022-09-01 11:57 ` Marc-André Lureau
2022-08-24 9:40 ` [PATCH 48/51] io/channel-watch: Drop a superfluous '#ifdef WIN32' Bin Meng
2022-09-01 12:24 ` Marc-André Lureau
2022-10-17 12:34 ` Daniel P. Berrangé
2022-08-24 9:40 ` [PATCH 49/51] io/channel-watch: Fix socket watch on Windows Bin Meng
2022-09-01 12:58 ` Marc-André Lureau
2022-09-04 6:24 ` Bin Meng
2022-09-05 6:04 ` Marc-André Lureau
2022-09-05 6:13 ` Bin Meng
2022-09-05 8:10 ` Clément Chigot
2022-09-06 7:00 ` Bin Meng
2022-09-06 7:41 ` Clément Chigot
2022-09-06 8:14 ` Bin Meng
2022-09-06 12:06 ` Clément Chigot
2022-09-07 5:07 ` Bin Meng
2022-09-14 8:08 ` Bin Meng
2022-09-21 1:02 ` Bin Meng
2022-09-28 6:10 ` Bin Meng
2022-10-06 3:03 ` Bin Meng
2022-10-11 10:42 ` Bin Meng
2022-10-17 12:21 ` Bin Meng
2022-10-17 12:30 ` Daniel P. Berrangé
2022-10-17 13:03 ` Bin Meng
2022-10-17 13:29 ` Daniel P. Berrangé
2022-10-17 12:35 ` Daniel P. Berrangé
2022-08-24 9:40 ` [PATCH 50/51] .gitlab-ci.d/windows.yml: Increase the timeout to the runner limit Bin Meng
2022-08-25 8:18 ` Thomas Huth
2022-08-26 11:25 ` Bin Meng
2022-08-26 11:33 ` Daniel P. Berrangé
2022-08-24 9:40 ` [PATCH 51/51] docs/devel: testing: Document writing portable test cases Bin Meng
2022-09-01 13:02 ` Marc-André Lureau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220824094029.1634519-34-bmeng.cn@gmail.com \
--to=bmeng.cn@gmail.com \
--cc=bin.meng@windriver.com \
--cc=jsnow@redhat.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).