qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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



  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).