All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Schoenebeck <qemu_oss@crudebyte.com>
To: qemu-devel@nongnu.org
Cc: Thomas Huth <thuth@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>,
	Greg Kurz <groug@kaod.org>,
	berrange@redhat.com
Subject: Re: [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory
Date: Thu, 08 Oct 2020 14:26:28 +0200	[thread overview]
Message-ID: <10015241.kaXt91Qapa@silver> (raw)
In-Reply-To: <0c54a2ca2049e9824df9805324cac8dac029c113.1601655308.git.qemu_oss@crudebyte.com>

On Freitag, 2. Oktober 2020 18:15:05 CEST Christian Schoenebeck wrote:
> Before running the first 9pfs test case, make sure the test directory
> for running the 9pfs 'local' tests on is entirely empty. For that
> reason simply delete the test directory (if any) before (re)creating
> it on test suite startup.
> 
> Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
> ---
>  tests/qtest/libqos/virtio-9p.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/tests/qtest/libqos/virtio-9p.c b/tests/qtest/libqos/virtio-9p.c
> index 1bada47af1..41a7c2baaa 100644
> --- a/tests/qtest/libqos/virtio-9p.c
> +++ b/tests/qtest/libqos/virtio-9p.c
> @@ -53,6 +53,18 @@ static void create_local_test_dir(void)
>      g_assert((st.st_mode & S_IFMT) == S_IFDIR);
>  }
> 
> +/* Deletes directory previously created by create_local_test_dir(). */
> +static void remove_local_test_dir(void)
> +{
> +    g_assert(local_test_path != NULL);
> +    char *cmd = g_strdup_printf("rm -r '%s'\n", local_test_path);
> +    int res = system(cmd);
> +    if (res < 0) {
> +        /* ignore error, dummy check to prevent compiler error */
> +    }
> +    g_free(cmd);
> +}
> +
>  static void virtio_9p_cleanup(QVirtio9P *interface)
>  {
>      qvirtqueue_cleanup(interface->vdev->bus, interface->vq, alloc);
> @@ -220,6 +232,7 @@ static void virtio_9p_register_nodes(void)
> 
>      /* make sure test dir for the 'local' tests exists and is clean */
>      init_local_test_path();
> +    remove_local_test_dir();
>      create_local_test_dir();
> 
>      QPCIAddress addr = {
>          .devfn = QPCI_DEVFN(4, 0),
>      };
>     
>      QOSGraphEdgeOptions opts = {
>          .before_cmd_line = "-fsdev synth,id=fsdev0",
>      };
>     
>      /* virtio-9p-device */
>      opts.extra_device_opts = str_simple,
>      qos_node_create_driver("virtio-9p-device", virtio_9p_device_create);
>      qos_node_consumes("virtio-9p-device", "virtio-bus", &opts);
>      qos_node_produces("virtio-9p-device", "virtio");
>      qos_node_produces("virtio-9p-device", "virtio-9p");
>     
>      /* virtio-9p-pci */
>      opts.extra_device_opts = str_addr;
>      add_qpci_address(&opts, &addr);
>      qos_node_create_driver("virtio-9p-pci", virtio_9p_pci_create);
>      qos_node_consumes("virtio-9p-pci", "pci-bus", &opts);
>      qos_node_produces("virtio-9p-pci", "pci-device");
>      qos_node_produces("virtio-9p-pci", "virtio");
>      qos_node_produces("virtio-9p-pci", "virtio-9p");
> }
> 
> libqos_init(virtio_9p_register_nodes);

I wonder why libqos is calling virtio_9p_register_nodes() again after all 
qtests ended.

That's somewhat suboptimal here, as it causes remove_local_test_dir() to be 
called again after all qtests completed. My intention was actually only to 
wipe the "qtest-9p-local" test directory at the *start* of the test suite run. 
Not at the end of the test suite. Because it would allow developers to look at 
the actual dirs/files created after the tests completed.

I could of course misuse and add a dedicated "wipedir" test as workaround, but 
that OTOH would break the option of running individual tests with the -p CL 
switch.

Best regards,
Christian Schoenebeck




  reply	other threads:[~2020-10-08 12:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-02 16:15 [PATCH v3 00/11] 9pfs: add tests using local fs driver Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 08/11] tests/9pfs: introduce local tests Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 09/11] tests/9pfs: wipe local 9pfs test directory Christian Schoenebeck
2020-10-08 12:26   ` Christian Schoenebeck [this message]
2020-10-08 15:34     ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 07/11] tests/9pfs: change qtest name prefix to synth Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 02/11] libqos/qgraph: add qos_node_create_driver_named() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 10/11] tests/9pfs: add virtio_9p_test_path() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 04/11] tests/qtest/qos-test: dump qos graph if verbose Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 03/11] libqos/qgraph: add qos_dump_graph() Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 05/11] tests/qtest/qos-test: dump environment variables if verbose Christian Schoenebeck
2020-10-08 12:37   ` Paolo Bonzini
2020-10-08 13:09     ` Christian Schoenebeck
2020-10-08 13:21       ` Paolo Bonzini
2020-10-08 13:42         ` Christian Schoenebeck
2020-10-08 13:52           ` Paolo Bonzini
2020-10-08 15:38             ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 01/11] libqos/qgraph: add qemu_name to QOSGraphNode Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 06/11] tests/qtest/qos-test: dump QEMU command if verbose Christian Schoenebeck
2020-10-08 12:36   ` Paolo Bonzini
2020-10-08 13:11     ` Christian Schoenebeck
2020-10-02 16:15 ` [PATCH v3 11/11] tests/9pfs: add local Tmkdir test Christian Schoenebeck

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=10015241.kaXt91Qapa@silver \
    --to=qemu_oss@crudebyte.com \
    --cc=berrange@redhat.com \
    --cc=e.emanuelegiuseppe@gmail.com \
    --cc=groug@kaod.org \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.